1 / 4
文档名称:

分布式服务架构方案.docx

格式:docx   大小:91KB   页数:4页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

分布式服务架构方案.docx

上传人:63229029 2017/5/13 文件大小:91 KB

下载得到文件列表

分布式服务架构方案.docx

相关文档

文档介绍

文档介绍:高并发分布式服务架构方案下图是一个非常全面的架构蓝图, 针对不同的应用系统需要的模块各有不同。此架构方案主要包括以下几个方面的设计:数据存储和读取,基础服务,应用层( APP/ 业务/Proxy ) ,日志监控等,下面对这些主要的问题提供具体的各项针对性技术方案。数据的存储和读取分布式系统应该根据应用对数据不同的一致性、可用性等要求和数据的不同特性, 采用不同的数据存储和读取方案,主要有以下几种可选方案: 1) 内存型数据库。内存型的数据库,以高并发高性能为目标,在事务性方面没那么严格, 适合进行海量数据的存储和读取。例如开源 nosql 数据库 mongodb 、 redis 等。 2) 关系型数据库。关系型数据库在满足并发性能的同时,也需要满足事务性, 可通过读写分离,分库分表来应对高并发大数据量的情况。例如 Oracle , Mysql 等。 3) 分布式数据库。对于数据的高并发的访问, 传统的关系型数据库提供读写分离的方案, 但是带来的确实数据的一致性问题提供的数据切分的方案;对于越来越多的海量数据, 传统的数据库采用的是分库分表,实现起来比较复杂,后期要不断的进行迁移维护;对于高可用和伸缩方面, 传统数据采用的是主备、主从、多主的方案, 但是本身扩展性比较差, 增加节点和宕机需要进行数据的迁移。对于以上提出的这些问题, 分布式数据库 HBase 有一套完善的解决方案,适用于高并发海量数据存取的要求。基础服务基础服务主要是指数据层之上的数据路由, Cache ,搜索等服务。 1) 路由 Router 。对于数据库切分方案中的分库分表问题,需要解决在请求对应的数据时定位需要访问的位置,可根据一致性 Hash ,维护路由表至内存数据库等方案解决。 2) Cache 。对于高并发的系统来讲,使用 Cache 可以减轻对后端系统的压力,所有 Cach e 可承担大部分热数据的读操作。当前用的比较多的是 redis 和 memcache , redis 比 memcache 有丰富的数据操作的 API , redis 对数据进行了持久化,而 memcache 没有这个功能,因此 memcache 更加适合在关系型数据库之上的数据的缓存。 3) 搜索。搜索可以支持应用系统的按照关键词的检索, 搜索提示, 搜索排序等功能。开源开源的企业级搜索引擎主要有 lucene, sphinx ,选择搜索引擎主要考虑以下三个方面: a) 搜索引擎是否支持分布式的索引和搜索, 来应对海量的数据, 支持读写分离, 提高可用性 b) 索引的实时性 c) 搜索引擎的性能 Solr 是基于 Lucene 开发的高性能的全文搜索服务器, 满足以上三个方面的考虑, 而且目前在企业中应用非常广泛。应用层应用层主要包括面向用户的应用,网站、 APP 等,还包括相关的业务处理的运算等。 1) 负载均衡- 反向代理。一个大型的平台包括很多个业务域, 不同的业务域有不同的集群, 可以用 DNS 做域名解析的分发或轮询, DNS 方式实现简单。但是因存在 cache 而缺乏灵活性; 一般基于商用的硬件 F5、 NetScaler 或者开源的软负载 lvs 在做分发, 当然会采用做冗余( 比如 lvs+keepalived) 的考虑,采取主备方式。 Nginx 是基于事件驱动的、异步非阻塞的架构