微服务 springCloud

CSDN大神https://blog.csdn.net/cuiqwei/article/details/118329609

什么是微服务?

就是将应用分成相对独立的服务,这些服务独立运行,相互组合成一个应用。这样如果某个服务挂掉,整个应用也不会受到太大的影响。

应用的服务之间动态加入或者下架都可以直接线上更改。

服务与服务之间通过http或者其他的网络协议进行连接,大多使用json来传递数据。json不能保存对象的状态,所以有一些其他的格式。

微服务的一些问题

使用了微服务,那么各个服务之间的相互调用,服务的维护需要解决。

服务的端口管理,服务检测是否有问题。。。等等

所以微服务最重要的就是为服务的拆分,微服务的维护。微服务维护是最难的。

SpringCloud

微服务,有两种方式,将子服务划分成不同的project或者将服务划分成moudle在同一个工程下。两者适用于不规模的项目。

每个微服务之间独自构建,部署。数据库也要不同。微服务之间,通过网络请求进行连接。

服务之间的远程调用

提供了一个远程调用方式,实际上就是快捷http方式,RestTemplate类,这个类的使用和任何其他的http请求框架差不多的使用方式。

1
new RestTemplate().

服务的负载均衡

我们可以给一个微服务部署多个,这样访问任意一个服务地址就可以得到响应。现在问题就在于如何让不同的部署服务负载均衡。

两种方式,在发起请求时计算出最佳请求地址,另一种是在服务发起后,通过中间层计算和转发请求。这个中间层可以是请求服务本身,但是一般都不会这么做(影响性能)

最常用的就是使用一个中间层,请求发起端没有影响,只需要发起请求,由中间层代为计算请求地址转发请求。

注册中心原理

实际上和Nginx等中间件实现的功能差不多,但是这里的注册中心主要是用于微服务之间的服务调用,而不是外部请求的服务调用。Nginx对于任何请求都会做负载均衡,请求操作。

所谓的注册中心就是中间层,中间层负责维护了服务提供方的状态,计算服务提供方最佳提供地址。

注册中心实现Nacos

springcloud定义了注册中心的规范,而Nacos就是实现了规范中比较好的。


微服务 springCloud
https://wainyz.online/wainyz/2024/07/30/微服务 springCloud/
作者
wainyz
发布于
2024年7月30日
许可协议