惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Google Online Security Blog
Google Online Security Blog
C
CXSECURITY Database RSS Feed - CXSecurity.com
C
CERT Recently Published Vulnerability Notes
C
Cybersecurity and Infrastructure Security Agency CISA
Cisco Talos Blog
Cisco Talos Blog
Hacker News - Newest:
Hacker News - Newest: "LLM"
Scott Helme
Scott Helme
Project Zero
Project Zero
E
Exploit-DB.com RSS Feed
S
Secure Thoughts
K
Kaspersky official blog
L
Lohrmann on Cybersecurity
NISL@THU
NISL@THU
WordPress大学
WordPress大学
N
News and Events Feed by Topic
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
L
LINUX DO - 热门话题
小众软件
小众软件
P
Privacy & Cybersecurity Law Blog
博客园 - 聂微东
Google DeepMind News
Google DeepMind News
H
Hackread – Cybersecurity News, Data Breaches, AI and More
A
About on SuperTechFans
Hacker News: Ask HN
Hacker News: Ask HN
AWS News Blog
AWS News Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
H
Hacker News: Front Page
F
Full Disclosure
Latest news
Latest news
Schneier on Security
Schneier on Security
The Hacker News
The Hacker News
T
Troy Hunt's Blog
www.infosecurity-magazine.com
www.infosecurity-magazine.com
Jina AI
Jina AI
Martin Fowler
Martin Fowler
P
Proofpoint News Feed
TaoSecurity Blog
TaoSecurity Blog
G
GRAHAM CLULEY
Forbes - Security
Forbes - Security
V
V2EX - 技术
酷 壳 – CoolShell
酷 壳 – CoolShell
V
Vulnerabilities – Threatpost
C
Cyber Attacks, Cyber Crime and Cyber Security
MongoDB | Blog
MongoDB | Blog
博客园 - 三生石上(FineUI控件)
S
SegmentFault 最新的问题
Hugging Face - Blog
Hugging Face - Blog
P
Privacy International News Feed
C
Check Point Blog
N
News and Events Feed by Topic

博客园 - xvhfeng

blog搬迁 2012 年度总结 2011年年度总结 albian开发笔记六-albian的架构 hashTable和多线程问题 albian开发笔记五--谈缓存同步 albian开发笔记四 albian开发笔记三 albian开发笔记二 albian开发笔记一 Albian开发库的设计与规划 《程序员入职锦囊妙计》终于完成了 FastMQ V0.2.0 stable版发布 实现线程内同一对象 发现你的优势测评结果 DFS架构 FastMQ V0.1.1使用方法 开源消息队列FastMQ V0.1.0 发布 linux环境C编程的血泪教训
albian使用方法-1
xvhfeng · 2011-10-19 · via 博客园 - xvhfeng

    这段时间都没有写任何的blog,主要的精力都放在了albian的开发上。因为一个朋友创业,原本有意加入之,所以加紧了albian的开发,但因为额启动成本的问题,这段时间开发的albian是java版本的,俗称albianj。后来因为了解的深入,感觉这个创业项目不靠谱就放弃了。但是albianj基本上写完了。总体结构、思想都没有任何的改变,但是代码结构albianj和albian.net相比成熟很多。albian.net会在下次重构的时候更改代码结构。

    这次先来说一下albian的使用(因为java版本和net基本上使用方法一样)。和平常的开源软件一样,albian也有配置文件,而且配置文件还不少,一共有10个,分别是

   cache.xml 此文件主要配置使用在ORM上的缓存,支持本地和Memcached两种;

     config.xml  此文件主要配置“配置服务”,这是一个albian内置的服务,主要提供程序中经常使用的参数配置功能;

     controller.properties 此文件主要配置albian的控制中心,即albian的管理器;

     log4j.xml 这是日志配置,albian使用log4系列作为默认日志工具,这就不多说了吧;

     persistence.xml 此文件主要配置对象的持久化关闭,即ORM的映射关系、对象和数据库、数据库表之间的关系;

     routing.xml 此文件主要配置数据对象的database router功能,即数据对象会根据你配置的router,路由到不同的库、表中;

     service.xml 此文件主要配置最简单的IOC功能;

     storage.xml 此文件主要配置数据库链接;  

     alocker.xml 此文件主要配置分布式锁服务器;

    介绍完了配置文件后,我们通过一个实例来讲述一下。

     场景描述:

     有一个电子商务网站,大概一天的pv在2kw左右,数据库采用sql server和mysql,sql server主要用来提供“写操作”,mysql被大量的部署,用来提供“读操作”。然后客户端可以发布自己的东西,在电子商务站点中称为发布单;顾客也可以购买东西,即对发布单下订单。发布单除了单页面查看以外,还可以通过list页面来查看。场景应该差不多了吧?这些应该是最简单的电子商务网站的模型吧?!

      首先我们确定一下我们将使用albian来完成底层功能的使用。然后审视一下场景描述,我们不难发现,pv在2kw以上,那么应该可以称为中型网站,所以数据量压力、并发压力、流量压力都很大。为了应对网站压力,对数据肯定是进行了一定的拆分,俗称“分库分表”,然后因为需要list页面的显示,我们肯定又需要一个总体的数据库表来导出列表或者各类分索引的数据库表来完成这项功能(暂且不考虑search引擎,虽然那么大的访问量没有search引擎是很难想象的)。那么大的访问量,肯定是需要缓存来顶部分的压力,可能是分布式缓存、也可能是本地缓存,这需要具体的情况看。好,现在明确一下我们需要什么。

      第一:使用albian来完成(一站式服务嘛,为嘛不用?!);

      第二:数据对象需要分库分表;

      第三:数据库存在异构(sql server和mysql);

      第四:分库分表后牵连的一个问题,事务问题;

      第五:缓存问题;

      第六:数据的并发问题;

    搞定了场景和场景中的利弊,这就简单了,下一节将介绍怎么使用albian来完成!