一、背景&问题
之前框架是一个基于SOA思想设计的分布式框架。各应用通过服务方式提供使用;服务之间通信是RPC方式调用;具体实现基于.NET的WCF通信平台。框架存在如下2个问题;
1、高并发处理能力不足。一当高并发请求;可能出现多个服务待定处理;导致整个系统出现瓶颈。
2、随着移动端广泛应用;服务不能灵活支持APP应用。
3、系统持续集成部署过于繁琐;遇到问题不好定位。
基于以上存在问题升级框架;结合当前主流的架构思想;将系统进行服务化思维;就是“微服务架构”。
二、微服务架构
微服务架构;Microservices Architecture;是将系统拆分为多个服务;俗称为应用服务。应用服务实现单一、具体的业务应用功能;支持独立部署维护;多个应用服务构建成系统。应用服务之间通过轻量级通信框架进行;并且支持应用服务用不同技术或者平台实现。微服务架构是SOA架构设计思想另一种实现方式。微服务架构有如下特点;
1、微服务架构好处
;1;横向扩展应用服务提升系统并发处理能力
;2;应用服务独立部署维护;有利于迭代开发升级持续部署
;3;架构灵活支持多种技术实现
;4;有利于应用服务实现高可用性
2、微服务架构不足
;1;对系统设计有一定要求;尤其是拆分技术应用服务接口
;2;导致系统实现复杂度的提高
;3;需要确保系统数据一致性机制
;4;导致系统维护要求和成本提高
系统是否需要采用微服务架构进行构建是由项目需求决定。采用微服务架构进行设计构建系统;对团队成员能力比传统要求高;尤其是设计能力。
三、框架设计原则
1、可扩展;支持不修改系统功能;按需扩展服务器资源。
2、高可用;支持分布式部署双机热备机制;满足系统高可用性的要求。
3、高并发;支持快捷扩张应用服务处理能力;提升系统处理能力;满足并发请求。
4、安全性;访问安全通过统一认证访问;信息安全通过加解密、签名传输;网络安全通过网络隔离及防火墙;数据安全通过定时备份及高容错能力。
5、一致性;采用数据最终一致性策略。