任务1 了解软件行业分类并掌握软件架构分类
2.1.1 软件行业分类
传统软件行业和互联网软件行业
2.1.2 软件架构分类
单体式架构、微服务架构(降低项目复杂度、团队界限明确、扩展灵活)
任务2 掌握微服务架构的相关概念
2.2.1 Provider和Consumer :
2.2.2 RPC和RESTful
1.RPC即远程过程调用,使用@DubboConsumer注解注入其他项目中的Service,Dubbo和Dubbox均支持RPC;
2.RESTful全称为表述性状态传递,是一组架构约束条件和原则。项目之间采用RESTful风格的HTTP方式互相调用。常见的Spring Cloud和Dubbox均支持。
2.2.3 分布式
按照业务功能,将一个完整的系统拆分成一个个独立的子系统,并部署在不同的机器上。
2.2.4 集群
由多个服务/机器一起做相同的事情,提供相同的服务,以此来提高系统的性能和扩展性。
任务3 熟悉常见微服务架构并掌握微服务架构设计原则
2.3.1 常见微服务架构
1. Dubbo、Dubbox
2. Spring Cloud
2.3.2 微服务架构设计原则
1. 围绕业务切分
2. 单一职责
3. 谁创建谁负责
2.3.3 微服务架构解决方案
1. 选择微服务框架
2. 根据业务拆分项目
3. 选择部署(如Docker虚拟化部署)