摘要:
一、前言 在分布式系统架构中多个系统之间通常是通过远程RPC调用进行通信,也就是 A 系统调用 B 系统服务,B 系统调用 C 系统的服务。当尾部应用 C 发生故障而系统 B 没有服务降级时候可能会导致 B,甚至系统 A 瘫痪,这种现象被称为雪崩现象。所以在系统设计时候要使用一定的降级策略,来保证当 阅读全文
摘要:
记得在三年前公司因为业务发展需要,就曾经将单体应用迁移到分布式框架上来。当时就遇到了这样一个问题:系统仅有一个控制单元,它会调用多个运算单元,如果某个运算单元(作为服务提供者)不可用,将导致控制单元(作为服务调用者)被阻塞,最终导致控制单元崩溃,进而导致整个系统都面临着瘫痪的风险。 那个时候还不知道 阅读全文
摘要:
生产者保证消息可靠投递 消费者保证消息可靠消费 RabbitMQ持久化 参考:https://blog.csdn.net/RobertoHuang/article/details/79605185 阅读全文
摘要:
两个系统之间的调用,是选择rpc呢还是mq,说一下你们系统的选择吧比如rpc可以是简单的spring httpinvoker,但是前提是都是java应用而且都是用spring framework,可以选择restful的web service或者是重量级的soap web service,或者是使用 阅读全文
摘要:
Linux下如何查看版本信息, 包括位数、版本信息以及CPU内核信息、CPU具体型号等等,整个CPU信息一目了然。 1、# uname -a (Linux查看版本当前操作系统内核信息) Linux localhost.localdomain 2.4.20-8 #1 Thu Mar 13 17:54: 阅读全文
摘要:
转自:https://www.cnblogs.com/dwlsxj/p/RabbitMQ.html RabbitMQ基础知识 一、背景 RabbitMQ是一个由erlang开发的AMQP(Advanced Message Queue )的开源实现。AMQP 的出现其实也是应了广大人民群众的需求,虽然 阅读全文
摘要:
一、rabbitMQ是什么: RabbitMQ,遵循AMQP协议,由内在高并发的erlanng语言开发,用在实时的对可靠性要求比较高的消息传递上。 学过websocket的来理解rabbitMQ应该是非常简单的了,websocket是基于服务器和页面之间的通信协议,一次握手,多次通信。 而rabbi 阅读全文
摘要:
原文地址:http://mp.weixin.qq.com/s/Brd-j3IcljcY7BV01r712Q 转自:https://blog.csdn.net/xybelieve1990/article/details/70313216/ 一、缘起 一切脱离业务的架构设计与新技术引入都是耍流氓。 引入 阅读全文
摘要:
转自:https://mp.weixin.qq.com/s?__biz=MjM5ODYxMDA5OQ==&mid=2651959519&idx=1&sn=065074b135fc9cb243abe897261e1a72&scene=21#wechat_redirect 近期参加一些业界的技术大会,“ 阅读全文
摘要:
1.应用场景 1.1 异步处理 场景说明:用户注册后,需要发注册邮件和注册短信,传统的做法有两种1.串行的方式;2.并行的方式 (1)串行方式:将注册信息写入数据库后,发送注册邮件,再发送注册短信,以上三个任务全部完成后才返回给客户端。 这有一个问题是,邮件,短信并不是必须的,它只是一个通知,而这种 阅读全文
摘要:
主要原因:是在高并发情况下,由于来不及同步处理,请求往往会发生堵塞,比如诸多的insert、update之类的请求同时到达mysql,直接导致无数的行锁表锁,甚至最后请求会堆积很多,从而触发大量的too mang connnections错误。通过消息队列,我们可以异步处理请求,从而缓解系统的压力。 阅读全文