微服务相关

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. 找一台服务器总统计,其他服务器每秒同步一次请求数量。

相关推荐

  1. 学习分享-服务相关概念

    2024-04-20 20:12:04       29 阅读
  2. 云原生架构相关技术_2.云原生服务

    2024-04-20 20:12:04       31 阅读
  3. <span style='color:red;'>微</span><span style='color:red;'>服务</span>

    服务

    2024-04-20 20:12:04      19 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-20 20:12:04       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-20 20:12:04       101 阅读
  3. 在Django里面运行非项目文件

    2024-04-20 20:12:04       82 阅读
  4. Python语言-面向对象

    2024-04-20 20:12:04       91 阅读

热门阅读

  1. Linux 安装 Docker

    2024-04-20 20:12:04       34 阅读
  2. 常见的linux命令

    2024-04-20 20:12:04       30 阅读
  3. ChatGPT助手:写作无忧

    2024-04-20 20:12:04       51 阅读
  4. Mac上的PD虚拟机安装parallels tools问题

    2024-04-20 20:12:04       35 阅读
  5. Docker-compose

    2024-04-20 20:12:04       38 阅读
  6. 前端之 WebAssembly

    2024-04-20 20:12:04       29 阅读
  7. 前端工程搭建:

    2024-04-20 20:12:04       30 阅读
  8. mac jd-gui安装

    2024-04-20 20:12:04       30 阅读
  9. 突破编程_前端_SVG(元素碰撞检测)

    2024-04-20 20:12:04       33 阅读
  10. [蓝桥杯] 纸张尺寸(C语言)

    2024-04-20 20:12:04       31 阅读
  11. CCF PTA 2022年7月C++研究生入学考试

    2024-04-20 20:12:04       29 阅读
  12. Mac idea启动vue项目的时候报Permission denied

    2024-04-20 20:12:04       36 阅读
  13. 记一次Mac(M1)交叉编译Windows系统的过程

    2024-04-20 20:12:04       31 阅读