【20170404】一周技术总结

96
点作苏格拉底
2017.04.04 13:37* 字数 879

  这里讲的是我在这周内所了解的技术动态,我在项目里遇到的事情。可能对我是新鲜事,对你并不是,对行业来看也不是。


  上次的技术总结是3月8号做的,对于“坚持”这件事,自己做的还是很不足。

  前面的一个月内太多事太多事,搞得自己工作时跟打鸡血一样,上了地铁、出租车等就困的要睡觉。

         分布式架构,在项目开发中经常会用到的。
         前段时间,收到阿里云的活动推送,云数据库免费。点击看了下,分布式mysql数据库,读免费,写收费,一月费用800多,一年要一万左右,光是分布式数据库这块。
          如果再算上负载均衡、分布式文件管理、分布式其他服务等等,购买整体一套的云服务,价格不菲的。
           所以,我们聊聊如何自建分布式架构。


我们自己画了一个分布式架构拓扑图。

我们的分布式架构拓扑图

1. web 应用采用Spring mvc 4.0、hibernate ORM框架、安全框架 shiro (登录授权)(session管理)(RBAC权限控制)

2. Cache层
redis组成集群缓存, 使用ehcache做为本地缓存
数据存储使用Mysql
MySQL,经过实践检验,有大量成熟的案例、解决方案、技术支持,而且是免费的。

3. 负载均衡
LVS+Ngnix,部署高可用7层负载均衡方案

4. Web中间件选择
采用方案:Ngnix + Tomcat免费高效搭配方案

5.分布式文件同步
rsync数据镜像备份工具,配合数据库组成高可用分布式文件存储方案

6.分布式数据库中间件
MYCAT国内最活跃的、性能最好的开源数据库中间件,被很多大型企业使用反馈良好

7.分布式数据库同步中间件

采用方案:开源中间件otter
阿里巴巴B2B公司,因为业务的特性,卖家主要集中在国内,买家主要集中在国外,所以衍生出了杭州和美国异地机房的需求,同时为了提升用户体验,整个机房的架构为双A,两边均可写,由此诞生了otter这样一个产品。

8. 微服务:采用DUBBO是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,是阿里巴巴SOA服务化治理方案的核心框架,每天为2,000+个服务提供3,000,000,000+次访问量支持,并被广泛应用于阿里巴巴集团的各成员站点。

注:6和7的关系。比如有三个数据库,数据库之前肯定要数据同步,这个是数据库之间同步用的。

这样的分布式架构,至少要两台服务器,理想状态是三台服务器。
根据使用人数的增加,通过服务器的增加,我们可以从容应对大流量、大并发、大数据。
费用的话就是三台服务器的成本,至于人力成本,您懂的~~

日记本
Web note ad 1