springboot和springcloud

springboot核心功能(简化了开发、配置、部署)

1、独立运行(内嵌服务器) java -jar XXX.jar  无需web容器(Tomcat、jetty)

2、简化配置   配置starter-web无需配置一堆

3、准生产的应用监控

springboot是java开发微服务的润滑剂。

springcloud与微服务(简化java的分布式系统)

侧重功能,侧重开发,但是并没有提供资源的管理、自动化部署(需要服务编排框架)

1、统一的配置管理

2、服务的注册、服务发现、服务之间的调用、负载均衡、断路器。。。

3、全局锁

SpringCloud核心组件

1、Netflix Eureka 服务发现组件 (客户端发现)

  

2、Netflix Ribbon 客户端负载均衡组件

 edge service:整合多个后端的数据

-----》负载均衡策略

3、Netflix Hystrix 断路器

1、当发现服务不可用时,不再去访问服务层

2、或者更好的用户体验,从缓存中取

正常状态是closed,服务器忽然不可用就处于open状态,

过段时间会再次请求,好了就处于半开状态,

然后有更多请求进来,再不能用了就open,没有问题就closed。

4、Netflix Zuul 服务网关

充当apiGateway。除了对外提供restAPI  还提供路由服务(核心)  负载均衡  全员控制

客户端通过ELB(弹性负载均衡)来访问微服务

-->Zuul 对外提供了统一的接口

-->对内将请求转发到不同的service,中间有一层edge service

edge service对外提供是rest api,zuul将api进行整合。。。。

5、SpringCloud Config 分布式配置

不一样的环境解决方式。

平常:

1、手动修改不好,易错。

2、排除文件,修改脚本。

3、zookeeper配置修改

4、maven的profile直接指定-p制定一个环境变量

SpringCloud:

两个模块

1、SpringCloudConfigServer:会开启一个http服务,获取配置信息来源 svn、git、本地文件。

这是静态配置还需要重启服务,动态配置还可以用zookeeper支持监听。

SpringCloudConfig也可以动态的。

2、SpringCloudConfigClient:通过server的http配置获取接口

springcloud VS springboot

SpringBoot意在简化,是一种开发、配置风格。

SpringCloud是分布式系统的一站式解决方案。意在简化分布式,是功能的集合,风格的统一。

猜你喜欢

转载自www.cnblogs.com/onroad2019/p/11434581.html