1 / 4
文档名称:

分布式服务架构方案.docx

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

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

分享

预览

分布式服务架构方案.docx

上传人:小点 2019/3/12 文件大小:39 KB

下载得到文件列表

分布式服务架构方案.docx

相关文档

文档介绍

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