
中间件
文章平均质量分 81
Teddy1982
这个作者很懒,什么都没留下…
展开
-
Zookeeper(三) 原理
Zookeeper的事件通知可以把Watch理解成注册在Znode上的触发器, 当这个Znode发生改变, 也就是调用了create, delete, setData方法的时候, 将会触发Znode上注册的对应事件, 请求Watch的客户会收到异步通知具体交互过程如下:客户端使用getData方法, watch参数是true, 服务端接收到请求, 返回节点数据, 并且在对应的哈希表里插...原创 2019-08-31 13:31:26 · 221 阅读 · 0 评论 -
Zookeeper(二) 介绍
什么是ZookeeperZookeeper是一种分布式协调服务, 用于管理大型主机。在分布式环境中协调和管理服务是一个复杂的过程。Zookeeper通过其简单的架构和API解决了这个问题, Zookeeper允许开发人员专注于核心应用程序逻辑, 而不必担心应用程序的分布式特性。Zookeeper是一个高可用的分布式管理与协调框架, 基于ZAB算法(原子消息广播协议)的实现. 该框架能够很好...原创 2019-08-31 13:20:15 · 266 阅读 · 0 评论 -
Zookeeper(一) 什么是分布式协调技术
什么是分布式协调技术分布式协调技术主要用来解决分布式环境中多个进程之间的同步控制, 让他们有序的去访问某种临界资源, 防止造成脏数据的产生在这图中有三台机器, 每台机器各跑一个应用程序, 然后我们将这三台机器通过网络将其连接起来, 构成一个系统为用户提供服务, 对用户来说这个系统的架构是透明的, 他感觉不到这个系统是一个什么样的架构, 那么就可以把这种系统称为一个分布式系统在这个分...原创 2019-08-31 13:15:27 · 1210 阅读 · 0 评论 -
RocketMQ(二) 快速实现
快速实现之HelloWorldpublic class Producer { public static void main(String[] args) throws MQClientException, RemotingException, InterruptedException, MQBrokerException { DefaultMQProducer pr...原创 2019-10-23 06:50:24 · 254 阅读 · 1 评论 -
RocketMQ(一) 介绍
介绍RocketMQ是 一款分布式, 队列模型的消息中间件, 具有以下特点:能够保证严格的消息顺序提供丰富的消息拉取模式高效的订阅者水平扩展能力实时的消息订阅机制亿级消息堆积能力安装单机环境采用Docker安装RocketMQ, 下面是Docker-compose文件version: '3.5'services: rmqnamesrv: im...原创 2019-10-23 06:46:32 · 219 阅读 · 0 评论 -
ActiveMQ(二) 其他
事务Session可以被事务化, 也可以不被事务化, 通常, 可以通过向Connection上的适当创建方法传递一个布尔参数对此进行设置Session createSession(Boolean transacted, int acknowledgeMode)transacted为使用事务标识结束事务有两种方法: 提交或者回滚。当一个事务提交, 消息被处理。如果事务中有一个步骤失败...原创 2019-10-20 08:17:22 · 175 阅读 · 0 评论 -
ActiveMQ(一) 简介
简介ActiveMQ是Apache出品, 最流行的, 能力强劲的开源消息总线, 是一个完全支持JMS1.1和J2EE1.4规范的JMS Provider实现。安装version: '3.1'services: #activemq容器 activemq: #使用的镜像 image: webcenter/activemq restart: alway...原创 2019-10-20 07:01:33 · 307 阅读 · 0 评论 -
Redis(三) 持久化
持久化机制redis是一个支持持久化的内存数据库, 也就是说redis需要经常将内存中的数据同步到硬盘来保持持久化redis持久化的两种方式1. snapshot(快照)默认方式, 将内存中以快照的方式写入到二进制文件中, 默认为dump.rdb.可以通过配置设置自动做快照持久化的方式。我们可以配置redis在n秒内如果超过m个key则修改自动做快照snapshot设置save...原创 2019-10-13 10:46:43 · 154 阅读 · 0 评论 -
Redis(二) 主从复制与哨兵
主从复制1. Master可以拥有多个slave2. 多个slave可以连接同一个master外, 还可以连接到其他的slave3. 主从复制不会阻塞master在同步数据时 master可以继续处理client请求4. 提供系统的伸缩性主从复制过程1. slave与master建立连接, 发送sync同步命令2. master会开启一个后台进程, 将数据库快照保存在文...原创 2019-10-13 10:45:09 · 143 阅读 · 0 评论 -
Redis(一) 简介
简介是以key-value形式存储, 和传统的关系型数据库不一样, 不一定遵循传统数据库到的一些基本要求(非关系型的, 分布式的, 开源的, 水平可扩展的)优点:对数据高并发读写对海量数据的高效率存储和访问对数据的可扩展性和高可用性缺点:redis(ACID处理非常简单)无法做到太复杂的关系数据库模型数据类型Redis是以key-value store存储,...原创 2019-10-13 08:49:14 · 153 阅读 · 0 评论 -
MQ消息丢失和消息重复的解决方案和实战
场景假设支付宝转账1000元到余额宝, 通过RabbitMQ对转账过程进行解耦,支付宝将转账的消息投递到RabbitMQ, 余额宝通过监听RibbitMQ的消息队列获得消息, 然后通过应答队列告诉支付宝消息已经消费遇到的问题1. 当余额宝获取到消息之后, 可能转账失败, 消息队列不会关心余额宝是否操作成功, 这就是消息丢失的问题2. 如果余额宝成功转账, 但响应队列迟迟...原创 2019-09-22 18:26:41 · 12693 阅读 · 2 评论 -
RabbitMQ (二) 使用
生产者创建一个名为spring-boot-amop-provider的生产者项目application.ymlspring: application: name: spring-boot-amqp rabbitmq: host: 192.168.25.143 port: 5672 username: rabbit password: 1...原创 2019-09-22 18:15:01 · 203 阅读 · 0 评论 -
RabbitMQ (一) 简介
RabbitMQ的优点基于ErLang语言开发具有高可用高并发的优点, 适合集群服务器健壮, 稳定, 跨平台, 支持多种语言, 文档齐全有消息确认机制和持久化机制, 可靠性高RabbitMQ的概念生产者和消费者Product: 消息的生产者Consumer: 消息的消费者Queue消息队列, 提供了FIFO的处理机制, 具有缓存消息的能力. RabbitMQ中,...原创 2019-09-22 17:58:47 · 191 阅读 · 0 评论 -
消息队列的流派
什么是MQMessage Queue(MQ), 消息队列中间件, 很多人都说: MQ通过将消息的发送和接收分离来实现应用程序的异步和解耦, 这个给人的直觉是—MQ是异步的, 用来解耦的, 但是这个只是MQ的效果而不是目的, MQ真正的目的是为了通信, 屏蔽底层复杂的通讯协议, 定义了一套应用层的, 更加简单的通讯协议。一个分布式系统中两个模块之间通讯要么是HTTP, 要么是自己开发的TCP, ...原创 2019-09-22 17:56:45 · 204 阅读 · 0 评论 -
Nginx(三)负载均衡
负载均衡建立在现有网络结构之上, 它提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽, 增加吞吐量, 加强网络数据处理能力, 提高网络的灵活性和可用性。负载均衡, 英文名称为Load Balance, 意思是分摊到多个操作单元上进行执行, 例如Web服务器, FTP服务器, 企业关键应用服务器和其他关键任务服务等, 从而共同完成任务。Nginx实现负载均衡Nginx作为负载均衡服...原创 2019-09-13 09:23:16 · 257 阅读 · 0 评论 -
Nginx(二)反向代理
什么是代理服务器代理服务器, 客户机在发送请求时, 不会直接发送给目的主机, 而是先发送给代理服务器, 代理服务器接受客户机请求之后, 再向主机发出, 并接收目的主机返回的数据, 存放在代理服务器的硬盘中, 再发送给客户机。为什么要使用代理服务器?提高访问速度由于目标主机返回的数据会存放在代理服务器的硬盘中, 因此下一次客户再访问相同的站点数据时, 会直接从代理服务器的硬盘中读取...原创 2019-09-13 09:21:44 · 248 阅读 · 0 评论 -
Nginx(一)简介与虚拟主机
什么是NginxNiginx是一款高性能的HTTP服务器/反向代理服务器及电子邮件代理服务器。由俄罗斯的程序设计师Igor Sysoev所开发, 官方测试Nginx能够支撑5万并发链接, 并且CPU, 内存等资源消耗却非常低, 运行非常稳定。Nginx的应用场景HTTP服务器: Nginx是一个HTTP服务可以独立提供HTTP服务。可以做网页静态服务器虚拟主机: 可以实现在一台服...原创 2019-09-13 07:06:56 · 281 阅读 · 0 评论