心悦会员荣誉战场两张免做卡网站,河南省最新通知,提高景区网站建设,网站建设 服务器主机配置1. 微服务主要七个模块
中央管理平台#xff1a;生产者、消费者注册#xff0c;服务发现#xff0c;服务治理#xff0c;调用关系生产者消费者权限管理流量管理自定义传输协议序列化反序列化
2. 中央管理平台 生产者A在中央管理平台注册后#xff0c;中央管理平台会给他…1. 微服务主要七个模块
中央管理平台生产者、消费者注册服务发现服务治理调用关系生产者消费者权限管理流量管理自定义传输协议序列化反序列化
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次
限流次数不需要太精确。
平均分配找一台服务器总统计其他服务器每秒同步一次请求数量。