微服务技术发展

一、java开发趋向

单体应用:SpringBoot

微服务项目:SpringCloud技术栈(分布式微服务架构的一站式解决方案,是多种微服务架构落地的集合体)

二、微服务&分布式&集群概述

微服务

拒绝大型单体应用,基于业务边界进行服务微化,各个服务独立部署运行

分布式&集群

集群:是个物理形态,指的事将几台服务器集中在一起实现同一业务

分布式:是个工作方式,建立在网络之上的软件系统

案例:京东是一个分布式系统,众多业务运行在不同的机器,所有业务构成一个大型的业务集群,每个小型的业务,比如用户系统,访问压力大的时候一台服务器不够,就将用户系统部署在多个服务器,将每一个业务系统集群化

总结:分布式中的每一个节点都可叫做集群,而集群不一定是分布式

三、分布式微服务技术概述

2.1 对于一个大型分布式微服务架构需要解决的大概问题

  1. 服务注册与发现
  2. 服务调用:在分布式系统中,各个服务可能处于不同主机,但是服务之间不可避免的相互调用,我们成为远程调用;springcloud中使用HTTP+JSON的方式完成远程调用
  3. 服务熔断
  4. 负责均衡
  5. 服务降级
  6. 服务消息队列
  7. 配置中心管理
  8. 服务网关
  9. 服务监控
  10. 全链路追踪技术
  11. 自动化部署技术
  12. 定时任务调度操作

2.2 大型微服务架构案例

微服务技术发展_第1张图片

2.3 微服务架构流程

微服务技术发展_第2张图片

2.4 技术版本选型

4.1、Spring boot版本更新是以数组为版本号如Spring boot 2.x.x;而Spring Cloud是以字母为版本号如Spring Cloud Hoxton

4.2 、使用Spring boot开发单体项目自己选择适当版本即可,但是对于分布式微服务项目,整体是基于Spring Cloud建设的,所以要根据Spring Cloud来选择Spring boot版本,Springboot和cloud版本依赖关系在官网就可以看到Spring | Home

微服务技术发展_第3张图片

更加详细的技术选型版本介绍地址https://start.spring.io/actuator/info

2.5 Spring Cloud相关技术停更及替换

技术

(快)停更/不维护

替代技术

备注

服务注册中心

Eureka

Zookeeper、Consul、Nacos

推荐使用Nacos(特别是百万级项目)

服务调用

feign(闭源)

OpenFeign已替换Feign

负载均衡

Ribbon(快要停更)、

LoadBalancer替换Ribbon、

服务降级

Hystrix(官网停更不推荐使用 但是国内使用多)

resilience4j(国外推荐使用) 、sentinel(阿里)

推荐sentinel

服务网关

Zuul

gateway

服务配置

config

Nacos(阿里巴巴 )、apollo

推荐Nacos

服务总线

bus

Nacos(阿里巴巴 )、apollo

推荐Nacos

你可能感兴趣的:(Spring,Cloud,Alibaba,微服务,java,spring,cloud)