当前位置:   article > 正文

微服务相关

微服务相关

1. 微服务主要七个模块

  1. 中央管理平台:生产者、消费者注册,服务发现,服务治理,调用关系
  2. 生产者
  3. 消费者
  4. 权限管理
  5. 流量管理
  6. 自定义传输协议
  7. 序列化反序列化

2. 中央管理平台

生产者A在中央管理平台注册后,中央管理平台会给他生成一个唯一的身份ID。生产者需要引入生产者 jar 包,在合适的位置放入这个身份ID,然后再启动程序。启动之后,这些 jar 包就自动向中央管理平台汇报,生产者就可以知道有多个服务器。

消费者也是同理。

消费者在向生产者申请时,并不会申请生产者的所有接口,而是只申请用到的几个接口。生产者也会知道哪个消费者调用了自己的接口。

消费者首次问中央管理平台后就不再问了,之后就直接请求生产者程序的 jar 包,这样可以减少网络 IO 次数,提高性能。

生产者和消费者的一切信息都可以在中央管理平台查到。

2.1. 如果有生产服务器崩溃

如果有一台生产者服务器崩溃,此时只依靠中央管理平台的话,中央管理平台会在几分钟后才发现出现问题,会很慢很慢。

此时消费者调用服务器发现异常时,会向中央管理平台发送崩溃信息,同时消费者更换其他的服务器,此时中央管理平台向其他的消费者发送崩溃信息,这样的话会很快地解决问题。

2.2. 网络传输最基础的四层协议

.

网络流的本质就是数组。

C中的 char[] 可以算一个字节流也可以算是一个字符流,但是Java中 char[] 可以算是字符流,byte[] 可以算是字节流。

自定义协议:自己定义数组中每一段字符代表的意思,接收时如何解析,等等。

3. 生产者和消费者

生产者 --> Tomcat + SpringBoot

消费者 --> Mybatis

4. 权限管理

每台消费者服务器会把权限缓存到本地,如果有程序想非法访问,那么 jar 包会对其进行拦截。(如果让生产者来判断权限,会加重生产者的压力)

消费者会做负载均衡,确保均匀地访问生产者服务器。

5. 流量管理

如何控制多台服务器请求次数?(3台服务器每分钟请求次数不超过3000次)

限流次数不需要太精确。

  1. 平均分配;
  2. 找一台服务器总统计,其他服务器每秒同步一次请求数量。
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/羊村懒王/article/detail/442286
推荐阅读
相关标签
  

闽ICP备14008679号