摘要:
一.架构实现 总的来说我的通用架构还是以三层架构为基础进行演变的,在经典的三层架构中,最上层的是controller,中间是service,下层是dao。 在微服务的架构中,最上层是网关层,controller只是网关的一种,中间是业务层,service只是业务层的入口,最下层是基础层,dao只是基 阅读全文
摘要:
一.技术选型: 网关:Nginx、Kong、Zuul 缓存:Redis、MemCached、OsCache、EhCache 搜索:ElasticSearch、Solr 熔断:Hystrix、resilience4j 负载均衡:DNS、F5、LVS、Nginx、OpenResty、HAproxy 注册 阅读全文
摘要:
系统容量预估 预估步骤: (1)注册用户数-日均UV量-每日的PV量-每天的并发量; (2)峰值预估:平常量的2~3倍; (3)根据并发量(并发,事务数),存储容量计算系统容量。 客户需求:3~5年用户数达到1000万注册用户; 每秒并发数预估: (1)每天的UV为200万(二八原则); (2)每日 阅读全文
摘要:
一.微服务架构特点 (1)服务服务力度:粒度是围绕业务进行拆分的。 (2)独立进程:任何一个微服务从它的开发,测试,上线,以及运维等过程都可以独立的进行,不依赖以其他的微服务。 (3)围绕业务建模:微服务架构是围绕业务建模的 (4)轻量级通信:通信模式是轻量级的,两个模块之间的通信没有语言关系,没有 阅读全文
摘要:
一.微服务解耦系统 1、解耦现有模块 将现有耦合在一起的模块进行重新的设计,设计成可以独立部署的多个模块,使用微服务框架很容易做到。 比如下面是微服务实现的一个架构设计图。 2、抽取公共模块 架构设计原则之一就是反向依赖,只从上往下依赖,所以将公共的重复功能的模块抽取出来。必须强调一点的是,公共模块 阅读全文
摘要:
一.微服务概念 X轴:运行多个负载均衡器之后的运行实例,是水平复制。比如讲单体系统多运行几个实例,做个集群加负载均衡的模式。 Y轴:将应用进一步分解为微服务(分库),是微服务的拆分模式,就是基于不同的业务进行拆分。 Z轴:大数据量时,将服务分区(分表),是数据分区,比如按照用户请求的地区进行数据分区 阅读全文