这是我参与8月更文挑战的第10天,活动详情查看:8月更文挑战
前言
吃饱饭才有力气写代码~
今天我们一起来学习一下微服务相关概念
一.什么是微服务
微服务其实是服务化思路的一种最佳实践方向,遵循SOA的思路。之所以叫微服务是与之前的服务化思路和实践相比较而来的。听说早些年的服务实施思路是把很多功能从开发到交付都打包成一个很大的服务单元,而微服务实现和实施思路则更强调功能趋向单一,服务单元小型化和微型化。
有人举例这么说的,用“茶壶煮饺子”来打比方的话,原来我们是在一个茶壶里煮很多个饺子,有了微服务之后基本上就是在一个茶壶里煮一个饺子,而这些饺子就是服务的功能,茶壶就是把这些服务打包交付的服务单元。
也就是说微服务倡导我们尽可能把功能进行拆分,让它们可以独立承担对外服务的职责,沿着这个思路开发和交付的软件服务实体就叫做微服务。
二.微服务的好处
首先,在开发层面,每个微服务基本上都是各自独立的项目,而对应各自独立项目的研发团队也基本上独立,这样的结构保证了微服务的并行研发,并且各自快速迭代。开发阶段的独立保证了微服务的研发可以高效进行。
在微服务治理体系下,各个微服务交付期间也是各自独立交付的。这大大加快了微服务的迭代和交付效率。服务交付之后需要部署运行,对微服务来说,它们运行期间也各自独立,这样可扩展性就会大大提升。此外隔离性也大大提升,也就是说任何一个或多个微服务的失败都只会影响自己或少量其它微服务,而不会大面积波及整个服务运行体系。
三.SpringBoot 搭建微服务框架
- 通过 SPRING INITIALIZR 工具生产基础项目
- 导入Spring-boot 相关依赖
- 启动项目 添加首页控制层 运行DemoApplication中的main方法,启动服务
- 整合Mybatis
- 项目配置 修改resources下application.properties文件
- 单元测试
- 整合Redis
- 整合Swagger2
- 接入Jenkins&SonarQube 具体可以参考这篇文章Spring Boot 快速搭建微服务框架详细教程