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