自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

lbl的博客

lbl的博客

  • 博客(10)
  • 收藏
  • 关注

原创 HAProxy了解

在项目中,为实现高可用的MQ服务,需要搭建HAProxy+多台MQ,故对HAProxy进行了解。对HAProxy的理解(1)首先是高可用的,可以支持上万的连接。(2)支持第四层、第七层的代理(3)隐匿后台复杂的部署,提供单一的入口(4)为每个服务提供负载均衡、健康检查功能。(5)作为唯一入口,在此步做好所有安全控制(6)在ssl、http压缩方面做了优化,提高传输速度基本的代理配置...

2019-03-26 20:40:01 490

原创 Netty关于select/epoll

使用Netty构建服务器时,需要指定parent线程池和child线程池,parent线程负责监听端口,一旦有连接接入,则注册到child线程池中的一个线程上,该连接的IO操作/任务都由该线程完成。换句话说,一个线程会负责多个连接的IO操作,也就是多路复用。Netty底层是使用系统提供的select或者epoll来实现多路复用的。先来科普下select/poll/epoll。select/p...

2019-03-25 14:55:39 8984

原创 TLSv1.3学习

TLSv1.3于2018年8月正式发布最终版本。如果想要浏览基于TLSv1.3的网页,需要浏览器支持,chrome的话需要打开chrome://flags/搜索tls并选择启用。浏览网页时打开开发者调试工具查看Security页签可以观察到网站使用TLSv1.2还是1.3。现在大部分网站还是使用TLSv1.2的,也有少部分使用TLSv1.3的网站的,如https://boke112.com/bk...

2019-03-24 21:44:40 6980

原创 TLSv1.2协议了解

首先明确TLS的作用三个作用(1)身份认证通过证书认证来确认对方的身份,防止中间人攻击(2)数据私密性使用对称性密钥加密传输的数据,由于密钥只有客户端/服务端有,其他人无法窥探。(3)数据完整性使用摘要算法对报文进行计算,收到消息后校验该值防止数据被篡改或丢失。TLS传输过程下面是使用wireshark抓包的结果,其中1-4是握手阶段,5是指握手后双方使用商议好的秘钥进行通讯。...

2019-03-23 00:17:53 66661 1

原创 SSL证书生成与使用(基于Netty)

为了接入SSL,故了解证书的种类/结构/生成方式和使用方式。证书的结构证书包含签发方信息,拥有者信息,公钥,签名等。签名是使用签发方私钥对证书进行加密运算的来,通过使用签发方公钥解密可以验证证书真伪。证书格式参考:https://blog.csdn.net/jjxojm/article/details/81266601证书的种类先了解两种证书,一种是自签证书,另一种是由机构签发的证书。...

2019-03-19 10:47:10 4983

原创 RocketMQ-NameServer分析

Rocketmq中的NameServer主要负责两个工作,broker管理和路由管理。这篇文章主要是分析NameServer如何完成这两个工作的。一、broker管理broker会定时上报broker的基本信息以及主题信息给NameServer,NameServer会将这些信息存储到RouteInfoManager中1. broker上报信息我们看看broker启动时关于上报信息的代码/...

2019-03-13 21:38:01 882

原创 RocketMQ集群-主题创建及队列分布

先了解集群是怎么搭建的,再了解主题在集群上的创建过程以及队列分布状态。搭建集群这里讨论主备和多主,暂不讨论多主备1. 主备master主要配置brokerClusterName = DefaultClusterbrokerName = broker-abrokerId = 0brokerRole = ASYNC_MASTERslave主要配置brokerClusterName...

2019-03-06 15:51:16 11329 3

原创 RocketMQ客户端源码分析-DefaultMQPushConsumer

与DefaultMQProducer类似,DefaultMQPushConsumer包含了defaultMQPushConsumerImpl,而defaultMQPushConsumerImpl又包含了MQClientInstance。start观察MQClientInstance的start方法,重点关注以下两句this.pullMessageService.start();此处是对于...

2019-03-04 16:11:34 874

原创 RocketMQ客户端源码分析-底层通讯

RocketMQ客户端所有与NameServer和Broker的通讯都是通过MQClientAPIImpl完成的。MQClientAPIImpl包含一个NettyRemotingClient,使用netty实现。在启动MQClientAPIImpl时,会启动NettyRemotintClient,设置通讯时的线程池以及pipeline。pipelineNettyEncoderNetty...

2019-03-01 17:02:21 546

原创 RocketMQ客户端源码分析-DefaultMQProducer

结构DefaultMQProducer包含了DefaultMQProducerImpl,而DefaultMQProducerImpl又包含了MQClientInstance。startstart的逻辑主要在MQClientInstance,做了这四个事情:this.mQClientAPIImpl.start();APIImpl主要负责对外的API请求,比如在需要获取broker状态时...

2019-03-01 15:15:08 1466 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除