分布式微服务系统架构第146集:JavaPlus技术文档平台

加群联系作者vx:xiaoda0423

仓库地址:https://webvueblog.github.io/JavaPlusDoc/

https://1024bat.cn/

https://github.com/webVueBlog/fastapi_plus

https://webvueblog.github.io/JavaPlusDoc/

微服务是什么

每个模块独立开发,独立部署,分布式架构的核心,解耦

API网关,服务发现,容器化

所有请求先经过网关这个"快递分拣站",自动分配到对应的模块,服务发现机制像BPS,实时定位哪些服务器活着

再用Docker和Kubernetes进行容器化部署,每个模块独立部署,独立运行,独立扩展

随时扩容缩容

必须用微服务:高并发;多团队协作,支付配送模式由不同团队开发;快速试错,新功能单独上线;组织架构革命。

什么是微服务,分而治之

Zookeeper是什么

让分布式系统"不打架"的大佬,分布式系统里几十台服务器同时干活,谁先执行任务?谁监控状态?数据一致性怎么保证? Zookeeper就是干这个的,它是一个分布式协调服务,可以用来维护配置信息、命名、提供分布式同步和提供组服务。

本质上它是一个分布式协调服务,核心原理:树,节点,监听

它用属性结构(ZNode)存储数据,节点分两种,持久节点(永久数据),和临时节点(会话结束就消失)

更牛的是他的监听机制(Watcher),只要节点数据变动,立马通知所有相关程序

微服务里十几个服务互相调用,Zookeeper就是协调者,协调各个服务,协调各个节点,协调各个模块,协调各个服务器

服务注册与发现:kafka靠它管理Broker节点状态;设置分布式锁,配置中心,全部都能用它搞定!

没有Zookeeper分布式系统可能就是大型车祸现场,数据冲突

节点失联,任务重复执行

ElasticSearch是什么

淘宝秒搜商品;刷微博实时看热点;排行榜秒刷新;

它能用1秒搜索完100万条数据

核心:倒排索引

加上分片机制,把数据拆分成乐高块

每块都能单独扩容"副本节点",随时接替宕机的兄弟

场景使用到:

  1. 日志分析,比如你的服务器每天吐10GB日志;用 ElasticSearch 加 Kibana,分分钟把日志变成可视化的报表

  2. 模糊搜索,靠分词,加相关性评分给你精准结果

  3. 实时监控,滴滴用它在全国地图上,动态显示每车辆的移动光点,靠的就是ES毫秒级响应

相关推荐
学历真的很重要1 小时前
【系统架构师】第二章 操作系统知识 - 第二部分:进程与线程(补充版)
学习·职场和发展·系统架构·系统架构师
2的n次方_1 小时前
Runtime 内存管理深化:推理批处理下的内存复用与生命周期精细控制
c语言·网络·架构
前端市界2 小时前
用 React 手搓一个 3D 翻页书籍组件,呼吸海浪式翻页,交互体验带感!
前端·架构·github
文艺理科生2 小时前
Nginx 路径映射深度解析:从本地开发到生产交付的底层哲学
前端·后端·架构
C澒2 小时前
Vue 项目渐进式迁移 React:组件库接入与跨框架协同技术方案
前端·vue.js·react.js·架构·系统架构
消失的旧时光-19433 小时前
从 Kotlin 到 Dart:为什么 sealed 是处理「多种返回结果」的最佳方式?
android·开发语言·flutter·架构·kotlin·sealed
惊讶的猫3 小时前
OpenFeign(声明式HTTP客户端)
网络·网络协议·http·微服务·openfeign
鹏北海4 小时前
micro-app 微前端项目部署指南
前端·nginx·微服务
L543414464 小时前
告别代码堆砌匠厂架构让你的系统吞吐量翻倍提升
大数据·人工智能·架构·自动化·rpa
難釋懷4 小时前
分布式锁的原子性问题
分布式