第一章-微服务基础框架搭建大纲
大家好,从今天开始我会持续输出微服务相关的文档,其重要目的有几个:1、在编程生涯留有痕迹,将自己的所理解的东西和大家分享;2、保持持续学习,输出的过程也是学习的几种方式,持续输出能够保证持续学习;3、保持充实的业余生活,把工作当做生活,把编程当做乐趣。
这一次的主要主题是围绕微服务框架,包括基础环境,微服务框架、组件功能点和基础功能;下面我们来看下主要涉及的内容。
环境
JDK
版本:1.8
下载地址:https://www.oracle.com/java/technologies/javase-jdk8-downloads.html
MAVEN
版本:3.6.3
下载地址:
http://maven.apache.org/download.cgi
IDEA
版本:2019.3.1
https://www.jetbrains.com/idea/download/\#section=windows
SpringCloud
版本:Hoxton
官网地址:https://spring.io/projects/spring-cloud
架构
SpringCloud基础架构
我们以SpringCloud为基础框架,再次基础上做扩展,为企业标准及框架为目标,能够适应不同的业务场景,能够支持高并发、易扩容、能定位的框架,满足7*24的不间断服务升级。
基础架构解读:
1、外部系统浏览器、移动端、物联网发送请求到应用网关;
2、应用网关做请求过滤,权限等校验然后路由到微服务;
3、多个微服务注册到注册中心上面,应该网关通过注册中心的发现机制负载到每一个服务;
4、所有的应用的配置文件统一由配置中心管理;
5、整个链路用分布式链路追踪记录。
课程内容
基础开发
前期我们会出框架的基础开发的文章,包括一些列的基础操作和模块之间的整体,开发一个最基础能完成业务功能的基础框架;
- WEB框架搭建:提供最小单元的web应用,web环境搭建、restful规范;
- 工程模块划分:基础模块划分标准,解耦模块之间的耦合程度;
- 模块依赖:第三方依赖版本管理、基础组件版本管理,maven生命周期、插件管理;
- 开发模式:MVC架构、DDD(领域驱动模型)架构还是MVC+DDD;
- 数据源和ORM框架集成:数据源、ORM框架集成配置,独立成标准组件;
- Swagger接口集成:Swagger集成、接口标准规范和测试;
- 本事事务:事务的几种使用方式注解事务、编程式事务和事务隔离级别的切换;
- 单元测试:单元测试编写、测试覆盖率、功能点测试;
服务框架
这一章节我们主要介绍微服务相关的体系的内容,包括一些高可用支撑,高并发以及服务治理方面的内容。
- 注册中心:服务注册、服务发现、心跳检测、自定义接口查询;
- 配置中心:配置基础、配置管理、多环境切换;
- 负载均衡:负载组件使用、负载算法;
- 超时重试:服务超时、服务重试机制;
- 服务熔断:熔断状态、调用失败率、熔断处理;
- 服务限流:域限流、IP限流、接口限流;
- 服务降级:自动降级、开关降级、动态配置降级;
- 服务追踪:链路标记、链路集成分析;
- 服务监控:系统级别监控、接口级别监控;
- 分布式事务:事务模式选择、集成案例;
框架功能点设计
这一章我们主要将构建企业级框架的开发和基础功能功能,能给给业务通过通用能力,并提供扩展机制,以及在不同规模下有不同的解决方案。
- 统一异常处理:异常码定义、统一异常管理、异常分类处理;
- 前后置处理:系统前后置处理、自定义前后置处理、可扩展机制;
- 日志记录:日志流水记录
- 异步消息处理:消息异步处理组件集成、消息外送;
- 接口防重处理:接口状态记录、防重处理;
- 系统缓存redis:系统级缓存、接口缓存;
- 服务组合:微服务组合、并发,组合编排;
- 代码生成:基础骨架代码生成;
业务基础公共实现
这一章我们主要会讲基于业务框架开发一系列的基础功能,后面如果有时间的再看看不同的业务场景下的功能使用。
- 登录:用户名和密码校验、次数校验、合法性校验、登录数据记录;
- 注册:合法性校验、密码加密
- 用户权限设计:用户角色、功能角色;
- 公告:文章编辑发布
- 短信/邮件/站内信:异步信息处理
还没有评论,来说两句吧...