高内聚指微服务粒度应满足独立发布、独立部署、独立运行与独立测试;低耦合指尽量松散
服务器、数据库、集群都要有唯一的标识,方便追溯问题,不要两个服务共用一个标识
不要有门槛,不涉及第三方的关联
监控服务的性能
合理拆分数据库表
可通过内外部工具执行监控
限制数据访问和避免服务耦合
将单体结构分解成独立的多个个体
扩展性要保证性能和效率是不能变的
微服务一定是基于敏捷模型的
功能 | SOA | 微服务 |
组件大小 | 大块业务逻辑 | 单独任务或小块业务逻辑 |
耦合 | 通过松耦合 | 总是松耦合 |
公司架构 | 任何类型 | 小型、专注于功能交叉的团队 |
管理 | 着重中央管理 | 着重分散管理 |
目标 | 确保应用能够交互操作 | 执行新功能、快速拓展开发团队 |
代码 | 注重重用 | 注重重写 |
服务分层 | 水平服务 | 垂直服务 |
服务逻辑 | 自上而下 | 自下而上 |
将应用拆分为独立的微服务,服务之间彼此隔离,通过轻量级的通讯机制进行交互,使得开发时无需关注具体的开发环境。
基于服务的独立性,服务之间的耦合性降低,无论从功能上,还是架构上,我们都可以进行更为灵活的扩展,而不影响其他服务。
微服务对于访问量大的服务可以增加服务的部署数量,访问量小的服务适当的减少部署数量。
一个微服务只会关注一个特定的业务功能,所以它业务清晰、代码量少。开发和维护单个微服务相当简单。
单个应用只要有修改,就得重新部署整个应用,微服务解决了这样的问题。
在微服务架构中,可以结合项目业务及团队的特点,合理选择技术栈。
单个微服务代码量较少,所以启动会比较快。
主要是负责把外部的流量接入到内部的平台上,实现负载均衡。
主要涉及的内容包括计算、网络、存储、NOC监控、安全、IDC管理等。
网关在微服务体系当中具有非常重要的地位,它主要做反向路由、限流熔断、安全认证等等的一些跨横切面的功能。
业务服务层分为聚合层和基础层。聚合层将内部复杂的微服务,适配成对各种不同用户体验友好和统一的API。聚合裁剪适配是聚合层的主要职责。
支持体系涉及的内容包括注册发现、集中配置、限流容错、认证授权、日志聚合、监控告警、后台服务(MQ、Cache、DB、JOB)等。
平台服务层包括发布系统、集群资源调度、镜像治理、资源治理、IAM(权限管控)
上午 | 理解微服务架构 |
1.微服务架构的定义
微服务架构出现的背景
互联网架构的演进 |
|
下午 | 微服务架构设计 |
3.微服务架构设计
架构与架构风格
服务的设计原则 |
上午 | 微服务架构相关方案 |
5.微服务的安全访问方案
外部访问身份认证
分布式事物相关理论 |
|
下午 | 微服务开发与测试 |
7.微服务开发
微服务项目规范与模版
测试相关原则
微服务开发与测试环境规划 |
上午 | 微服务治理 |
10.微服务治理
IT治理与服务治理
微服务架构之服务性能评估目的 |
|
下午 | 使用Spring Cloud实现微服务 |
12. 使用Spring Cloud实现微服务
SpringBoot与SpringCloud |
上午 | 大型互联网系统常用架构方案 |
13.互联网系统架构
互联网系统的特点
无状态原则
服务分级 |
|
下午 | 高性能高可用数据库方案 |
16.高可用高性能数据库设计
数据库架构设计基本概念 |
|
PaaS与云 | |
17.PaaS平台与云
云原生PaaS平台高可用高并发设计实践 |
|
案例分享 | |
案例分享 |