随笔分类 -  11 架构设计

摘要:何时使用MQmq作为一种基础中间件在互联网项目中有着大量的使用。 一种技术的产生自然是为了解决某种需求,通常来说是以下场景: 需要跨进程通信:B系统需要A系统的输出作为输入参数。当A系统的输出能力远远大于B系统的处理能力。针对于第一种情况有两种方案: 使用RPC远程调用,A直接调用B。使用MQ,A发 阅读全文
posted @ 2019-01-29 14:06 panchanggui 阅读(412) 评论(0) 推荐(0) 编辑
摘要:几种MQ产品说明: ZeroMQ : 扩展性好,开发比较灵活,采用C语言实现,实际上他只是一个socket库的重新封装,如果我们做为消息队列使用,需要开发大量的代码 RabbitMQ :结合erlang语言本身的并发优势,性能较好,但是不利于做二次开发和维护 ActiveMQ: 历史悠久的开源项目, 阅读全文
posted @ 2019-01-29 13:43 panchanggui 阅读(1834) 评论(0) 推荐(0) 编辑
摘要:转自:https://segmentfault.com/a/1190000005988895 前言 分布式系统中经常会出现某个基础服务不可用造成整个系统不可用的情况, 这种现象被称为服务雪崩效应. 为了应对服务雪崩, 一种常见的做法是手动服务降级. 而Hystrix的出现,给我们提供了另一种选择. 阅读全文
posted @ 2019-01-29 09:31 panchanggui 阅读(299) 评论(0) 推荐(0) 编辑
摘要:一、前言 在分布式系统架构中多个系统之间通常是通过远程RPC调用进行通信,也就是 A 系统调用 B 系统服务,B 系统调用 C 系统的服务。当尾部应用 C 发生故障而系统 B 没有服务降级时候可能会导致 B,甚至系统 A 瘫痪,这种现象被称为雪崩现象。所以在系统设计时候要使用一定的降级策略,来保证当 阅读全文
posted @ 2019-01-28 17:06 panchanggui 阅读(390) 评论(0) 推荐(0) 编辑
摘要:记得在三年前公司因为业务发展需要,就曾经将单体应用迁移到分布式框架上来。当时就遇到了这样一个问题:系统仅有一个控制单元,它会调用多个运算单元,如果某个运算单元(作为服务提供者)不可用,将导致控制单元(作为服务调用者)被阻塞,最终导致控制单元崩溃,进而导致整个系统都面临着瘫痪的风险。 那个时候还不知道 阅读全文
posted @ 2019-01-28 17:00 panchanggui 阅读(7197) 评论(0) 推荐(2) 编辑
摘要:生产者保证消息可靠投递 消费者保证消息可靠消费 RabbitMQ持久化 参考:https://blog.csdn.net/RobertoHuang/article/details/79605185 阅读全文
posted @ 2019-01-28 16:19 panchanggui 阅读(439) 评论(0) 推荐(0) 编辑
摘要:转自: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 阅读(2249) 评论(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 阅读(828) 评论(0) 推荐(0) 编辑
摘要:netty做集群 channel如何共享? 方案一: netty 集群,通过rocketmq等MQ 推送到所有netty服务端, channel 共享无非是要那个通道都可以发送消息向客户端, MQ广播+ 多Netty ,Netty收到MQ消息后,如果本地存储有该channel,就发送,没有存储就忽略 阅读全文
posted @ 2019-01-22 18:28 panchanggui 阅读(9212) 评论(1) 推荐(0) 编辑
摘要:你真的了解微服务架构吗?听听八年阿里架构师怎样讲述Dubbo和Spring Cloud微服务架构。 微服务架构是互联网很热门的话题,是互联网技术发展的必然结果。它提倡将单一应用程序划分成一组小的服务,服务之间互相协调、互相配合,为用户提供最终价值。虽然微服务架构没有公认的技术标准和规范或者草案,但业 阅读全文
posted @ 2019-01-04 16:22 panchanggui 阅读(724) 评论(0) 推荐(0) 编辑
摘要:Docker、微服务日益火热的今天,相信标题上这些名词大家都不陌生。但也相信有很多同学并不够清楚他们的概念,不理解它们的关系,也可能有这样的疑惑:不知道跟我有没有关系?要不要学习?怎么去学习?学哪些东西?没关系,今天我们就从头捋捋,让大家都能得到自己的答案。 Docker诞生于2013年,之后就是迅 阅读全文
posted @ 2018-12-18 16:13 panchanggui 阅读(623) 评论(0) 推荐(0) 编辑
摘要:在微服务中,使用什么协议来构建服务体系,一直是个热门话题。 争论的焦点集中在两个候选技术: (binary) RPC or Restful。 以Apache Thrift为代表的二进制RPC,支持多种语言(但不是所有语言),四层通讯协议,性能高,节省带宽。相对Restful协议,使用Thrifpt 阅读全文
posted @ 2018-11-07 16:35 panchanggui 阅读(435) 评论(0) 推荐(0) 编辑
摘要:JavaEE 技术体系总结: 一:常见模式与工具 设计模式,流行的框架与组件 常见的设计模式,编码必备 Spring5,做应用必不可少的最新框架 MyBatis,玩数据库必不可少的组件 二:工程化与工具 工欲善其事必先利其器,不管是小白,还是资深开发,玩Java技术体系,选择好的工具,提升开发效率和 阅读全文
posted @ 2018-11-07 10:58 panchanggui 阅读(1091) 评论(0) 推荐(0) 编辑
摘要:转载请说明出处:http://blog.csdn.net/cywosp/article/details/38026809 反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上 阅读全文
posted @ 2018-10-24 10:32 panchanggui 阅读(741) 评论(0) 推荐(0) 编辑
摘要:转载请说明出处:http://blog.csdn.net/cywosp/article/details/38017027 在上一篇文章(http://blog.csdn.net/cywosp/article/details/38014581)中讲到了使用HTTP重定向来实现服务器的负载均衡,本文则讲 阅读全文
posted @ 2018-10-24 10:24 panchanggui 阅读(2748) 评论(0) 推荐(0) 编辑
摘要:转载请说明出处:http://blog.csdn.net/cywosp/article/details/38014581 由于目前现有网络的各个核心部分随着业务量的提高,访问量和数据流量的快速增长,其处理能力和计算强度也相应地增大,使得单一的服务器设备根本无法承担。在此情况下,如果扔掉现有设备去做大 阅读全文
posted @ 2018-10-24 10:23 panchanggui 阅读(1742) 评论(0) 推荐(0) 编辑