微服务相关
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次)
限流次数不需要太精确。
- 平均分配;
- 找一台服务器总统计,其他服务器每秒同步一次请求数量。
相关文章:

微服务相关
1. 微服务主要七个模块 中央管理平台:生产者、消费者注册,服务发现,服务治理,调用关系生产者消费者权限管理流量管理自定义传输协议序列化反序列化 2. 中央管理平台 生产者A在中央管理平台注册后,中央管理平台会给他…...

虚拟机下如何使用Docker(完整版)
Docker详细介绍: Docker 是一款开源的应用容器引擎,由Docker公司最初开发并在2013年发布。Docker的核心理念源自于操作系统级别的虚拟化技术,尤其是Linux上的容器技术(如LXC),它为开发人员和系统管理员提供…...

asp.net core 依赖注入后的服务生命周期
ASP.NET Core 依赖注入(DI)容器支持三种服务的生命周期选项,它们定义了服务实例的创建和销毁的时机。理解这三种生命周期对于设计健壯且高效的应用程序非常重要: 瞬时(Transient): 瞬时服务每次…...
交换排序:冒泡排序和快速排序
冒泡排序 思路 通过多次遍历数组,比较相邻的元素,并交换它们,使得每次遍历结束后,最大(或最小)的元素都“冒泡”到数组的末尾 实现 public class Main {public static void main(String[] args) {int[] …...
聊天机器人ChatGPT指导下的论文写作
ChatGPT无限次数:点击直达 聊天机器人ChatGPT指导下的论文写作 引言 随着人工智能技术的不断发展,聊天机器人在各个领域得到了广泛应用。其中,ChatGPT作为一个先进的自然语言处理模型,为各种文本生成任务提供了强大的支持。在学术界…...

康谋技术 | 深入探讨:自动驾驶中的相机标定技术
随着自动驾驶技术的快速发展,多传感器的数据采集和融合可以显著提高系统的冗余度和容错性,进而保证决策的快速性和正确性。在项目开发迭代过程中,传感器标定扮演着至关重要的角色,它位于数据采集平台与感知融合算法之间࿰…...
如何在 Ubuntu 上启用 IPv6
一、前提条件 一台安装了 Ubuntu 22.04 的计算机具有 sudo 权限的用户账户已连接到支持 IPv6 的网络 二、检查系统是否支持 IPv6 在启用 IPv6 之前,首先要确保您的系统支持 IPv6。要检查内核是否启用了 IPv6,可以运行以下命令: cat /proc/…...

Mac电脑上有什么好玩的格斗游戏 《真人快打1》可以在苹果电脑上玩吗
你是不是喜欢玩格斗游戏?你是不是想在你的Mac电脑上体验一些刺激和激烈的对战?在这篇文章中,我们将介绍Mac电脑上有什么好玩的格斗游戏,以及《真人快打1》可以在苹果电脑上玩吗。 一、Mac电脑上有什么好玩的格斗游戏 格斗游戏是…...
【leetcode面试经典150题】55. 逆波兰表达式求值(C++)
【leetcode面试经典150题】专栏系列将为准备暑期实习生以及秋招的同学们提高在面试时的经典面试算法题的思路和想法。本专栏将以一题多解和精简算法思路为主,题解使用C语言。(若有使用其他语言的同学也可了解题解思路,本质上语法内容一致&…...

云轴科技ZStack入选中国信通院《高质量数字化转型产品及服务全景图(2023年度)》
近日,由中国互联网协会主办、中国信通院承办的“2024高质量数字化转型创新发展大会”暨“铸基计划”年度会议在北京成功召开。 本次大会发布了2024年度行业数字化转型趋势,总结并展望了“铸基计划”2023年取得的工作成果及2024年的工作规划。同时&#…...

Workerman开启ssl方法如下
参考地址 Workerman开启ssl方法如下-遇见你与你分享 准备工作: 1、Workerman版本不小于3.3.7 2、PHP安装了openssl扩展 3、已经申请了证书(pem/crt文件及key文件)放在了/etc/nginx/conf.d/ssl下 4、配置文件 location /wss { proxy_set…...
如何防止服务器被攻击
如何防止服务器被攻击 第1步:切断网络; 服务器的攻击来源都必须通过互联网,一旦切断网络,它们就失去了攻击的入口,你可以通过切断网络的方式,以最快的速度切断攻击源,保护服务器所在网络的其他主机服务器。…...

18 统计网站每日的访问次数
1.将竞赛的数据上传HDFS,查看数据的格式 通过浏览器访问hdfs,查看该文档前面的部分数据 每条数据的字段值之间使用逗号隔开的 ,最终时间是第五个自动,获取第五个字段值的中的年月日。 2.通过Idea创建项目mr-raceData ,基础的配置 修改pom.xml,添加依赖 …...

Java PDF文件流传输过程中速度很慢,如何解决?
专栏集锦,大佬们可以收藏以备不时之需: Spring Cloud 专栏:http://t.csdnimg.cn/WDmJ9 Python 专栏:http://t.csdnimg.cn/hMwPR Redis 专栏:http://t.csdnimg.cn/Qq0Xc TensorFlow 专栏:http://t.csdni…...

MCU最小系统晶振模块设计
单片机的心脏:晶振 晶振模块 单片机有两个心脏,一个是8M的心脏,一个是32.768的心脏 8M的精度较低,所以需要外接一个32.768khz 为什么是8MHZ呢,因为内部自带的 频率越高,精度越高,功耗越大&am…...

ELK及ELFK排错
目录 一、ELK及ELFK排错思路 1.1filebeat侧排查 1.2logstash侧排查 1.3ES、kibana侧问题 一、ELK及ELFK排错思路 1.1filebeat侧排查 第一步:排查filebeat上的配置文件有没有写错,filebeat的配置文件是yml文件,一定要注意格式。 第二步…...

『Django』创建app(应用程序)
theme: smartblue 本文简介 点赞 关注 收藏 学会了 在《『Django』环境搭建》中介绍了如何搭建 Django 环境,并且创建了一个 Django 项目。 在刚接触 Django 时有2个非常基础的功能是需要了解的,一个是“app”(应用程序),另一个是 url(路由…...

Docker安装(一)
一、安装Docker 服务器系统:centos 7 1.本地有docker的首先卸载本机docker yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-selinux \docker-engine-selinux \dock…...
由于bug发现的现象
//********************************* 示例1 ******************************* $flag (float)2; var_dump($flag); if ($flag 2) { } var_dump($flag);//输出结果 float(2) int(2)//********************************* 示例2 ******************************* $flag (floa…...

ES源码四:网络通信层流程
听说ES网络层很难?今天来卷它😄 前言 ES网络层比较复杂,分为两个部分: 基于HTTP协议的REST服务端基于TCP实现的PRC框架 插件化设计的网络层模块(NetworkModule) 入口还是上一章的创建Node构造方法的地方…...
谷歌浏览器插件
项目中有时候会用到插件 sync-cookie-extension1.0.0:开发环境同步测试 cookie 至 localhost,便于本地请求服务携带 cookie 参考地址:https://juejin.cn/post/7139354571712757767 里面有源码下载下来,加在到扩展即可使用FeHelp…...

idea大量爆红问题解决
问题描述 在学习和工作中,idea是程序员不可缺少的一个工具,但是突然在有些时候就会出现大量爆红的问题,发现无法跳转,无论是关机重启或者是替换root都无法解决 就是如上所展示的问题,但是程序依然可以启动。 问题解决…...

Zustand 状态管理库:极简而强大的解决方案
Zustand 是一个轻量级、快速和可扩展的状态管理库,特别适合 React 应用。它以简洁的 API 和高效的性能解决了 Redux 等状态管理方案中的繁琐问题。 核心优势对比 基本使用指南 1. 创建 Store // store.js import create from zustandconst useStore create((set)…...
前端倒计时误差!
提示:记录工作中遇到的需求及解决办法 文章目录 前言一、误差从何而来?二、五大解决方案1. 动态校准法(基础版)2. Web Worker 计时3. 服务器时间同步4. Performance API 高精度计时5. 页面可见性API优化三、生产环境最佳实践四、终极解决方案架构前言 前几天听说公司某个项…...

SCAU期末笔记 - 数据分析与数据挖掘题库解析
这门怎么题库答案不全啊日 来简单学一下子来 一、选择题(可多选) 将原始数据进行集成、变换、维度规约、数值规约是在以下哪个步骤的任务?(C) A. 频繁模式挖掘 B.分类和预测 C.数据预处理 D.数据流挖掘 A. 频繁模式挖掘:专注于发现数据中…...
css的定位(position)详解:相对定位 绝对定位 固定定位
在 CSS 中,元素的定位通过 position 属性控制,共有 5 种定位模式:static(静态定位)、relative(相对定位)、absolute(绝对定位)、fixed(固定定位)和…...
LLM基础1_语言模型如何处理文本
基于GitHub项目:https://github.com/datawhalechina/llms-from-scratch-cn 工具介绍 tiktoken:OpenAI开发的专业"分词器" torch:Facebook开发的强力计算引擎,相当于超级计算器 理解词嵌入:给词语画"…...
Python如何给视频添加音频和字幕
在Python中,给视频添加音频和字幕可以使用电影文件处理库MoviePy和字幕处理库Subtitles。下面将详细介绍如何使用这些库来实现视频的音频和字幕添加,包括必要的代码示例和详细解释。 环境准备 在开始之前,需要安装以下Python库:…...

华为云Flexus+DeepSeek征文|DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建
华为云FlexusDeepSeek征文|DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建 前言 如今大模型其性能出色,华为云 ModelArts Studio_MaaS大模型即服务平台华为云内置了大模型,能助力我们轻松驾驭 DeepSeek-V3/R1,本文中将分享如何…...
Android Bitmap治理全解析:从加载优化到泄漏防控的全生命周期管理
引言 Bitmap(位图)是Android应用内存占用的“头号杀手”。一张1080P(1920x1080)的图片以ARGB_8888格式加载时,内存占用高达8MB(192010804字节)。据统计,超过60%的应用OOM崩溃与Bitm…...