标签:
一、应用背景
随着计算技术的进步,内存、CPU、磁盘等资源不再是稀缺的,计算机作为应用程序的载体从单服务器转变为多服务器,集中计算演化为分布式计算。原有的“巨石”应用难以适应业务的发展速度,可扩展、自适应的能力不足,程序员面对着数以万计的源代码文件抓耳挠腮(O M G!),越来越多的工程师渴望小而美、易于扩展的架构体系,微服务应运而生。自2005年首次由Peter Rodgers提出微服务概念以来,风靡一时,随着近些年的发展,已经逐步被千万企业所采用,多数为互联网企业。我于工作半年之后有幸参与到后端微服务架构迁移的产品设计和开发中,有些体会,与大家分享。
二、设计原则
响应时间 |
用户友好程度 |
可扩展性 |
|
REST |
*** |
***** |
***** |
RPC |
***** |
** |
**** |
三、架构图
关键点:
1.服务注册中心,zookeeper集群作为分布式调度中心,各个服务注册在zookeeper之上,注册内容包括服务的请求url,请求ip地址和端口,服务组件名称,注册时间等;
2.Gateway,服务网关作为系统的入口,具有服务转发、授权验证、负载均衡等作用,使用高并发框架netty实现高速转发等;
3.访问控制服务,用户首先需要获得系统授权才可以访问业务服务,授权通过token来实现;
4.业务服务1~N,是系统内具体业务组件的划分;
5.用户服务,实现用户信息的注册、修改、共享等;
6.配置中心,整个系统的配置均位于配置中心,组件通过访问配置中心获取配置参数;
7.监控系统,检测ECS、RDS、zookeeper集群等的各项状态;
8.Kafka消息队列系统,支撑其他系统。
后续会对各个子系统和子系统用到的技术跟大家简要分享。晚安。
By Will
标签:
原文地址:http://www.cnblogs.com/willsuna/p/5366687.html