大型云平台建设的技术方案思考

版权声明:本博客都是作者10多年工作总结 https://blog.csdn.net/Peter_Changyb/article/details/82385344

具体一个服务发布和治理平台的架构设计如下

  1. 微服务引入:分布式系统所依赖的基础设施包括服务框架、消息中间件、数据访问中间件、配置中心、分布式缓存系统、持久化存储(关系数据库、nosql数据库)、搜索引擎、CDN网络、负载均衡系统、运维自动化系统、硬件虚拟化及镜像管理系统、分布式文件系统、日志收集系统、监控系统、离线计算、实时计算、数据仓库等等。随着服务化的进一步发展,服务越来越多,服务之间的调用和依赖关系也越来越复杂,诞生了面向服务的架构体系(SOA),也因此衍生出了一系列相应的技术,如对服务提供、服务调用、连接处理、通信协议、序列化方式、服务发现、服务路由、日志输出等行为进行封装的服务框架。就这样为分布式系统的服务治理框架就出现了,dubbo也就这样产生了。dubbo在整个分布式系统的架构中,按照分层的架构来架构,使得各个层级之间最大限度的松耦合。
  2. 微服务好处:一是降低复杂度将原来偶合在一起的复杂业务拆分为单个服务,规避了原本复杂度无止境的积累。每一个微服务专注于单一功能,并通过定义良好的接口清晰表述服务边界。每个服务开发者只专注服务本身,通过使用缓存、DAL等各种技术手段来提升系统的性能,而对于消费方来说完全透明。二是可独立部署:由于微服务具备独立的运行进程,所以每个微服务可以独立部署。当业务迭代时只需要发布相关服务的迭代即可,降低了测试的工作量同时也降低了服务发布的风险。三是容错:在微服务架构下,当某一组件发生故障时,故障会被隔离在单个服务中。 通过限流、熔断等方式降低错误导致的危害,保障核心业务正常运行。四是扩展:单块架构应用也可以实现横向扩展,就是将整个应用完整的复制到不同的节点。当应用的不同组件在扩展需求上存在差异时,微服务架构便体现出其灵活性,因为每个服务可以根据实际需求独立进行扩展。
  3. 应用场景分析:
  • 应用场景之一:A业务从上线至今, App累计用户3000万(月活480万,日活近百万),超过1500家集团入驻,18000跑团加入,成功举办了近百场线上跑步挑战赛。
  • 应用场景之二:B业务定位集中在 “依托一平台、聚焦N应用、构建生态系统,实现开放共赢”。通过与产业界各方合作,不断丰富医疗平台创新应用,夯实医疗平台服务能力,形成医疗健康大数据平台,并积极开拓行业市场,构建多层面、多方共赢的B2B2C价值链和医疗健康产业生态圈。 
  • 4.技术挑战分析:
  • 服务技术挑战::基于Dubbo分布式服务设计(综合问诊,慢病管理,运动健康,掌上体检,妇幼保健)
  • 实时业务分析:基于Storm实时统计分析(排名,活动,比赛,礼品兑换等)
  • 数据库服务 OLTP挑战:逻辑读总量与计算函数(解决方案:需要尽量避免计算过程,如保存计算结果到统计表就是一个好的方法),磁盘单块读(解决方案:Cache技术与B-tree索引技术),热快的问题(解决方案:创建反向索引来达到重新分布数据的目的,对于回滚段数据块,可以适当多增加几个回滚段来避免这种争用) 
  • 数据库服务 OLAP挑战:磁盘子系统的吞吐量 (解决方案:分区分表,并行技术)
  • 分布式事务:二阶段提交
  • 数据整合:提取特征进行数据分析,并实现实时数据特征抽取和模型更新

猜你喜欢

转载自blog.csdn.net/Peter_Changyb/article/details/82385344