![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
技术杂谈
Mr_Hou2016
菜鸟一只
展开
-
zookeeper漫谈
1.zk是如何保证一致性的一致性协议有很多种,比如Paxos,Raft,2PC,3PC等等,zk主要使用的是ZAB.Zookeeper Atomic Broadcast(Zookeeper 原子广播协议).它是为分布式协调服务 Zookeeper 专门设计的一种支持崩溃恢复和原子广播协议.2.zxid的作用2.1 保证数据顺序性zk会给每个事物分配一个zxid,一个64位数字,前32...原创 2019-12-03 17:31:31 · 292 阅读 · 0 评论 -
分布式CAP漫谈
1.CAP在经典的CAP理论中:C: 一致性A: 高可用P: 容错性在目前这个微服务中,注册中心选择中ZK和Eureka比较常见的,zookeeper在设计之初是为了解决各个服务之间的数据(状态)都保持一致,所以使用zk做注册中心时,会将这一特性带过来,所以大家常说使用zk的服务,而当zk内部发生选举,或者有一半节点挂掉时,没有办法对外提供服务,所以不是高可用性的,是CP.Eure...原创 2019-12-02 17:23:18 · 224 阅读 · 0 评论 -
面经:mysql索引
1. 数据结构 mysql 使用的是(Balance+ Tree,也就是平衡树)B+树,在B树的基础上做了优化,B+ Tree 是基于 B Tree 和叶子节点顺序访问指针进行实现,它具有 B Tree 的平衡性,并且通过顺序访问指针来提高区间查询的性能。2. 查询性能和原理2.1 减少IO次数 树的查询速度是取决于树的高度,一般的树,如红黑树每个节点挂了2个子叶,mysql为了提供...原创 2019-07-15 11:39:41 · 335 阅读 · 0 评论 -
Docker搭建开发环境: Nginx和Mysql
Docker搭建开发环境: Nginx和Mysql1.拉取Nginx和Mysql imagedocker pull nignxdocker pull mysql:5.7.222.启动Nginxdocker run -d --name mynginx -p 80:80 -v /opt/local/nginx/logs:/var/log/nginx -v /opt/...原创 2018-08-01 10:08:04 · 586 阅读 · 0 评论 -
日志收集为什么用kafka
1.什么是kafka根据kafka官网(http://kafka.apache.org/intro)的介绍: Apache Kafka® is a distributed streaming platform(一个分布式流媒体平台)2. kafka的主要有三个功能:1.发布和订阅记录流,类似于消息队列或企业消息传递系统。2.以容错持久的方式存储记录流。3.处理记录发生的流...原创 2018-03-22 14:06:07 · 13528 阅读 · 0 评论 -
kafka调试中遇到Connection to node -1 could not be established. Broker may not be available.
之前刚安装玩kafka使用它自带的shell脚本 创建了一个topic:test 打开了test的一个生产者和一个消费者,测试是没有问题的,今天再次要调试突然报错:创建一个生产者: bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test >test1[2018-03-08 13:59:36...原创 2018-03-08 14:29:01 · 75277 阅读 · 17 评论 -
kibana在centos上的汉化
Kibana的汉化使用1.初学者可以选择汉化github上有汉化的项目,地址:https://github.com/anbai-inc/Kibana_Hanization1.1汉化安装下载.zip汉化文件,确保在centos上下载有解压.zip工具,如果没有yum install zip unzip -y解压在kibana的安装目录unzip xxxx.z...原创 2018-02-08 15:16:44 · 2093 阅读 · 0 评论 -
非对称加密 - 数字签名,数字证书
非对称加密对我们现在来说,其实是比较常见的,Https,git代码管理,最新的bitchain交易时,都使用到了非对称加密做核心的数据传输来完成.而数字签名,数字证书也是非对称加密的衍生品,非对称加密非对称加密的主要实现是通过一对私钥(privateKey)和公钥(publicKey)完成的,这个过程就是原始信息用私钥加密(公钥加密也可以),再用对应的公钥解密(对应的私钥), 这原创 2018-01-15 14:30:21 · 566 阅读 · 0 评论 -
SpringBoot内嵌的Tomcat启动过程及其做过的工作
SpringBoot内嵌的Tomcat启动过程及其做过的工作Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,Tomcat 5支持最新的Servlet 2.4原创 2017-12-18 10:20:27 · 5600 阅读 · 0 评论 -
SpringBoot项目集成RabbitMq
SpringBoot项目 集成RabbitMqRabbitMq是目前比较流行的几个Mq之一,也是Spring官方AMQP的实现,官方文档地址:https://docs.spring.io/spring-amqp/docs/2.0.0.RELEASE/reference/html/RabbitMq也是国内很多互联网公司都在使用,今天主要说一下,它咋SpringBoot项目中的具体实现.1.首先在pom原创 2017-11-15 14:01:47 · 414 阅读 · 0 评论 -
mybatis使用时候的两个小细节
1.关于接受参数时 #{} 与${} 之间的区别简单一句句话说这两个符合#,$都可以接受参数,区别在于接受到的参数一个会给你自动加’ ‘而另一个不会,举个栗子: select <include refid="baseColumns"/> from mt_room_resource WHERE is_delete = 0 <if test="comId !原创 2017-11-14 11:14:18 · 439 阅读 · 0 评论 -
教你无脑在centos上安装redis
centos安装redis1.装gcc编译因为后面安装redis的时候需要编译,所以事先得先安装gcc编译 $ yum install gcc-c++2.下载、解压和编译 安装在home目录下 $ cd /home 下载 $ wget http://download.redis.io/releases/redis-3.2.2.tar.gz 解压原创 2017-09-01 18:08:00 · 1339 阅读 · 0 评论 -
初体验redis
第一次使用redis:redis不用说了现在最火的NoSQL数据库,昨天开源中国上发了一篇文章专门介绍datasource的排行榜,除了Oracle和mysql等传统的关系型数据库以外,NoSQL数据库也有上榜,阿里的MongoDB高居第第五,redis排在第9.(链接:http://mp.weixin.qq.com/s/y5b0-cwTE3Ia3omSvJk3ww).其实redis和mongoDB原创 2017-06-02 15:16:48 · 524 阅读 · 0 评论 -
关于Comparable<T>解决List<bean>,依据bean的某个属性对list进行排序
之前在开发的过程中遇到调用Dao,返回一个list集合,需要对list进行排序,排序的标准假如是bean.creatTime(),在从数据库中查询的时候,可以再sql语句中加一个 order by creat_time , 但是现在很流行的微服务架构,你的需求需要依赖其他的微服务数据时,可能需要我们自己处理我们收到的数据,这个时候就需要使用Comparable. Comparable是一个in原创 2017-05-12 16:22:31 · 1885 阅读 · 0 评论 -
GC浅谈
GC对一个java开发人员来说是个比较重要的东西,虽然在我们开发的过程中我们很少主动的调用它,但是它确实是我们开发中必不可少的部分.传说中的守护线程GC. 之前面试看过一些关于GC的面试题,感觉自己对GC的理解深入了一点,想写一些自己的体悟. 1.首先说GC就要说Java是如何储存对象的,我们说new一个对象,实际是给这个对象在内存中开一个内存区域,(这里说一下Java中new一个对象实际是完成了原创 2017-05-18 09:16:14 · 389 阅读 · 0 评论 -
使用MultiValueMap巧妙解决拼字符串问题
MultiValueMap可以让一个key对应多个value,感觉是value产生了链表结构,这里可以很好的解决一些不好处理的字符串问题。MultiValueMap&lt;String, String&gt; stringMultiValueMap = new LinkedMultiValueMap&lt;&gt;(); stringMultiValueMap.add(&quot;早班 9:00-11:00&原创 2017-05-06 09:53:45 · 5855 阅读 · 4 评论 -
参数效验@Valid
最近在看spring boot的文档(http://docs.spring.io/spring-boot/docs/1.5.2.RELEASE/reference/htmlsingle/),里面提到了使用@Valid 参数验证,这个注解比较实用,这里介绍一下如何在spring-boot中使用:import javax.validation.Valid;import com.framework.co原创 2017-04-20 20:11:22 · 809 阅读 · 0 评论 -
使用注解实现AOP功能
最近做项目,需要使用注解绑定一个切面去实现一个需求,讲真的本人菜鸟,可能之前就没有写多少切面,更不要说用注解的形式去实现了,现学现卖,希望写点东西,随着理解的深入可能我会修改这篇博客。闲话少说,首先是些注解的编写: 一.注解(Annotation): 编写注解必须要了解元注解的概念,其实就是定义注解的注解,meta-Annotation,Java1.5以后一共定义了四个元注解, 1.原创 2017-04-21 17:07:00 · 934 阅读 · 0 评论