EleasticSearch(四)进阶查询


EleasticSearch进阶查询多字段或语句查询GET/book/_validate/query?explain{"query":{"multi_match":{"query":"童话故事大全","fiel

RabbitMq(一)安装使用


RabbitMQ基本概念参考文档安装1.安装RabbitMq所需的环境yuminstallbuild-essentialopensslopenssl-develunixODBCunixODBC-develmakegccgcc-c++kernel-develm4ncurses-develtktcxz-

Redis(一)安装使用


Redis的安装使用安装wgethttp://download.redis.io/releases/redis-5.0.8.tar.gztar-xfredis-5.0.8.tar.gzcdredis-5.0.8makesrc/redis-serverredis.conf#启动,如果需要后台启动需要修

Zookeeper(四)源码解析


源码构建源码地址:https://github.com/apache/zookeeper使用gitclone源码选择分支,我这里选择的是3.5.5分支源码结构如图:zookeeper-recipes:示例源码zookeeper-client:C语言客户端zookeeper-server:主体源码刚打

Zookeeper(三)典型使用场景


分布式集群管理使用Zookeeper实现分布式集群管理,功能如下:查看线上服务节点的资源使用情况服务离线通知服务资源超出阈值告警架构设计:具体实现:服务端收集服务状态信息发送给Zookeeper监控管理中心监听Zookeepermonitor节点下的子结点状态,做事件响应代码:服务端:使用agent

Zookeeper(二)集群搭建与选举机制


Zookeeper集群的目的是为了保证系统的性能承载更多的客户端连接设专门提供的机制。通过集群可以实现以下功能:读写分离:提高承载,为更多的客户端提供连接,并保障性能。主从自动切换:提高服务容错性,部分节点故障不会影响整个服务集群。半数以上运行机制说明:集群至少需要三台服务器,并且强烈建议使用奇数个

Zookeeper(一)安装与使用


官网文档地址Zookeeper环境搭建与使用下载安装包并启动#下载3.5.8版本,并解压wgethttps://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-3.5.8/apache-zookeeper-3.5.8-bin.tar.g

Netty(四)Netty弹幕系统实战


弹幕系统系统特点实时性高并发量大弱一致性架构设计Netty代码实现ServerpublicclassWebsocketDanmuServer{privateintport;publicWebsocketDanmuServer(intport){this.port=port;}publicvoidru

Netty(三)Netty线程模型源码剖析


Netty线程模型源码剖析Netty高并发高性能架构设计精髓主从Reactor线程模型NIO多路复用非阻塞无锁串行化设计思想支持高性能序列化协议零拷贝(直接内存的使用)ByteBuf内存池设计灵活的TCP参数配置能力并发优化无锁串行化设计思想在大多数场景下,并行多线程处理可以提升系统的并发性能。但是

Netty(二)Netty编解码与粘包拆包


编解码涉及编解码的组件主要有Channel,ChannelPipeline,ChannelHandler,他们之间的关系已在上篇文章netty核心功能与线程模型有详细说明,下面主要介绍他们在编解码中担任的角色。Channel:一个Channel包含了一个ChannelPipeline,而Channe