微服务是一种经过良好架构设计的分布式架构方案,微服务具有以下特征: 单一职责:微服务拆分粒度更小,每个服务都对应唯一的业务能力,做到单一职责,避免重复业务开发。 面向服务:微服务对外暴露业务接口。 自治:团队独立、技术独立、数据独立、部署独立。 隔离性强:服务调用做好隔离、容错、降级,避免出现级联问题。 架构优缺点单体架构简单方便、高度耦合、扩展性差,适合小型项目。将业务的所有功能集中在一个项目中开发,打成一个包部署。优点 架构简单 部署成本低 缺陷 耦合度高 分布式架构松耦合,扩展性好。但架构复杂,难度大。适合大型互联网项目。微服务是一种良好的分布式架构方案。优点 降低耦合度 有利于服务升级扩展 缺点 复杂度增加 部署难度增加 技术栈作用 \ 框架DubboSpring CloudSpring Cloud Alibaba注册中心ZooKeeper、RedisEureka、ConsulNacos、Eureka服务远程调用Dobbo 协议Feign (http 协议)Dubbo、Feign配置中心无Spring Cloud ConfigSpring C
以3.1.1为例,Spring网关内置了12种,用来匹配HTTP不同属性的断言工厂,可以直接使用配置的形式来使用,并且可以多个联合使用。配置文件spring: cloud: gateway: routes: - id: after_route uri: https://example.org predicates: - After=2017-01-20T17:42:47.789-07:00[America/Denver] [email protected] public class GatewayConfig { @Bean public RouteLocator routes(RouteLocatorBuilder builder) { return builder.routes() .route("news2", r -> r.path("/guoji").uri("http://news.baidu.com"))
SpringBoot 版本命名规则SpringBoot 通常采用数字来命名:主版本号 + 次版本号 + 修正版本号。数字版本解释<!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot</artifactId> <version>2.6.0</version> </dependency> 数字2:表示的主版本号,表示是我们的SpringBoot第二代产品,当功能模块有较大更新或者整体架构发生变化时,主版本号会更新。 数字6:表示的是次版本号,增加了一些新的功能但是主体的架构是没有变化的,是兼容的,只是局部的一些变动。 数字0:表示的一般是bug的修改或者是小的变动。 字母解释在 S