微服务是什么
1.微服务原理图
图片来自于网络,如有侵权,请联系博主,立即删除
图片从右向左来看:
(1)为服务最主要的目的就是实现,如果说软件a使用了购物车程序作为后台,同时软件b也使用了购物车作为后台,那么如果软件a和b都是同一家公司开发的,那么他们就不需要写相同的代码,为软件a和b同时都写一个后台,它可以将后台的服务拆分,分别为了很多,如:认证,购物车,用户,商品,支付等等,需要什么功能就直接去取相关的实现程序调用即可。
(2)BFF此时,每次访问该页面都需要发送 3 个请求。同时为了保障app,第三方和Web 端的不同需求,需要为不同的平台写不同的 API 接口,而每当值发生一些变化时,需要 Android,iOS,Web 做出修改。与此同时,当我们需要对一个字符串进行处理,如限定 140 个字符的时候,我们需要在每一个客户端(Android,iOS,Web)分别实现一遍,这样的代价显然相当大。
于是,我们就需要 BFF 作为中间件。在这个中间件上我们将做一些业务逻辑处理
而当我们有了 BFF 这一层时,我们就不需要考虑系统后端的迁移。后端发生的变化都可以在 BFF 层做一些响应的修改即可,无需修改app,同时也修改web端。
(3)网关:对于一些跨横切面的关注点(cross cutting concerns),例如路由,安全认证,日志监控分析,限流等等,通常可由独立的网关(Gateway)层负责,下面是用一个网关将所有的切面关注点全部处理的例子。值得注意的是,单节点的 API网关为每个客户端提供不同的API,而不是提供一种万能风格的API。(就如同最上面的图示一样)
也可以是多个网官API,有的网关API处理安全,限流等等,其他网关API处理超时,缓存等等。
2.微服务与SOA
3.微服务与分布式
一个是分散压力,一个是分散能力。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
2016-02-18 搭通自己的电脑与GitHub的传输通道
2016-02-18 git