码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 架构思考(八)


    微服务设计服务间通信

    微服务之间的通信必须高效且健壮。由于许多小型服务交互以完成单个业务活动,这可能是一个挑战。在本文中,我们将研究异步消息传递与同步 API 之间的权衡。然后我们看看设计弹性服务间通信的一些挑战。

    挑战

    以下是服务到服务通信带来的一些主要挑战。本文稍后将介绍的服务网格旨在应对许多此类挑战。

    弹性。任何给定的微服务可能有几十个甚至几百个实例。实例可能由于多种原因而失败。可能存在节点级故障,例如硬件故障或 VM 重新启动。实例可能会崩溃,或者被请求淹没而无法处理任何新请求。这些事件中的任何一个都可能导致网络调用失败。有两种设计模式可以帮助提高服务到服务网络调用的弹性:

    重试。网络调用可能会因为会自行消失的瞬态故障而失败。调用者通常应该重试操作一定次数,或者直到配置的超时期限过去,而不是彻底失败。但是,如果操作不是幂等的,重试可能会导致意外的副作用。最初的调用可能会成功,但调用者永远不会得到响应。如果调用者重试,该操作可能会被调用两次。通常,重试 POST 或 PATCH 方法是不安全的,因为这些方法不能保证是幂等的。

    断路器。太多失败的请求会导致瓶颈,因为挂起的请求会在队列中累积。这些被阻塞的请求可能持有关键的系统资源,例如内存、线程、数据库连接等,这可能会导致级联故障。断路器模式可以防止服务重复尝试可能失败的操作。

    负载均衡。当服务“A”调用服务“B”时&

  • 相关阅读:
    升级PIP
    excel提示stdole32.tlb的解决方法
    webpack常用loader和pluglin
    Linux多线程C++版(三) 线程终止 pthread_cancel()函数 pthread_exit()函数 pthread_join()函数
    工业光网助力工业企业数字化转型发展
    如何实现torch.arange的tensor版本
    CCF CTO Club 16期活动记事——走进腾讯,实现连接
    程序模拟(Concurrency Simulator, ACM/ICPC World Finals 1991, UVa210)rust解法
    Devart dotConnect for MySQL 9.0 Crack
    PPT效果有限、Echarts技术太高,还是这个工具最快实现报表可视化
  • 原文地址:https://blog.csdn.net/yitian881112/article/details/127043766
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号