牧竹子

个人微信订阅号:牧竹子
私信 关注
牧竹子
码龄11年

且行且珍惜

  • 745,108
    被访问量
  • 169
    原创文章
  • 9,288
    作者排名
  • 233
    粉丝数量
  • 于 2010-03-16 加入CSDN
获得成就
  • 获得247次点赞
  • 内容获得176次评论
  • 获得870次收藏
荣誉勋章
兴趣领域
  • #后端
    #MySQL#Elasticsearch#Redis#Java#分布式#Python#Spring#Spring Boot#Go/GoLang
TA的专栏
  • SSO
    1篇
  • scala
    1篇
  • flink
    1篇
  • PowerDesigner
    1篇
  • MongodDB
    2篇
  • spring-cloud
    13篇
  • c/c++
    2篇
  • java
    8篇
  • 个人
    13篇
  • android
    5篇
  • 编码风格
    1篇
  • hadoop
    8篇
  • 数据库
    15篇
  • Linux
    2篇
  • python
    4篇
  • solr
    3篇
  • nginx
    5篇
  • java笔记
    19篇
  • FastDFS
  • spring
    4篇
  • 算法
    3篇
  • JVM
    12篇
  • springboot
    14篇
  • jquery
    5篇
  • git
    1篇
  • gitlab
    1篇
  • 架构设计
    9篇
  • centos
    3篇
  • redis
    14篇
  • 设计模式
    6篇
  • IDE
    4篇
  • vue
    3篇
  • docker
    9篇
  • elasticsearch
    16篇
  • zookeeper
    5篇
  • dubbo
    2篇
  • MQ
    6篇
  • RPC
    1篇
  • 通识
    5篇
  • blockchain
    5篇
  • go
    4篇
  • Jenkins
    2篇
  • 微信小程序
    1篇
  • 最近
  • 文章
  • 资源
  • 问答
  • 课程
  • 帖子
  • 收藏
  • 关注/订阅

接口文档Swagger、knife4j和YApi、APIDOC

Swagger、knife4j和YApiSwagger简介特点跨语言在线编辑导入文档导出离线文档权限管理Swaggerspring-boot支持的基本API生成文档模块可以导出api的json格式,强依赖Java项目运行,不支持离线文档功能java––––knife4jknife4j是为Java MVC框架集成Swagger生成Api文档的增强解决方案 UI和服务分离-增强UI根据标准规范,生成的在线markdown离线文档,开发者可以进行拷贝生成m
原创
62阅读
0评论
0点赞
发布博客于 21 天前

k8s部署服务流程

流程上图是交给了jekins由流水线创建完成,但是基本的文件还是需要手工完成的:代码,dockerFile,k8s-yaml整个流程如下:代码完成----->打包------>制作docker镜像------->k8s创建并部署yaml服务------>k8s控制器管理pod------->暴露应用------->对外发布应用------->日志监控手动部署运行环境镜像:安装java,maven,mysql环境检测是否安装成功并能够使用:在k8s
原创
73阅读
0评论
0点赞
发布博客于 1 月前

常用的缓存机制

文章目录1. LRU (Least Recently Used)最近最少使用2. LFU (Least Frequently Used)最近最不常用使用页面置换3.比较LRU 和 LFU 的缺点TinyLFU统计频率Count–Min Sketch 算法保新机制Window特性淘汰策略(eviction policy)异步的高性能读写总结1. LRU (Least Recently Used)最近最少使用核心思想:如果数据最近被访问过,那么将来被访问的可能性也更高。实现:1) 新数据插入链表头
原创
103阅读
0评论
0点赞
发布博客于 2 月前

手工创建三节点Redis集群

文章目录手工创建三节点集群配置三几个几点启动节点加入集群指派slots查看集群状态okredis cluster info显示cluster_state:fail解决方案手工创建三节点集群这里我们手工创建三节点集群,至少我们是可以自己设置多少个节点的。脚本创建需要至少6个节点,具体参考如下https://www.cnblogs.com/zhaoyongjie-z/p/12577972.htmlhttps://blog.csdn.net/zjcjava/article/details/8525615
原创
60阅读
0评论
0点赞
发布博客于 3 月前

Redisson分布式锁实现原理和使用

常见的锁内存锁lock,synchronize分布式锁redis,zookeeper实现Redisson实现了Lock接口的分布式集群锁,是可重入锁,功能强大,源码复杂,比redis单机模式分布式锁可靠,稳定性更高,支持集群模式,支持锁根据业务时长自动延迟释放redis普通分布式锁存在一定的缺陷——它加锁只作用在一个Redis节点上,如果通过sentinel和cluster保证高可用,如果master节点由于某些原因发生了主从切换,那么就会出现锁丢失的情况:高可用问题客户端1在Redis的ma
原创
743阅读
2评论
1点赞
发布博客于 3 月前

python脚本实现自动钉钉打卡的技术实现细节

pip使用国内镜像源[ 个人推荐清华大学pypi镜像站(https://mirrors.tuna.tsinghua.edu.cn/help/pypi/),每五分钟同步一次,资源丰富,下载速度很快 ] :清华大学:https://pypi.tuna.tsinghua.edu.cn/simple中国科学技术大学 : https://pypi.mirrors.ustc.edu.cn/simple阿里云:http://mirrors.aliyun.com/pypi/simple/豆瓣:http://pyp
原创
402阅读
0评论
1点赞
发布博客于 3 月前

Java后台phantomjs导出复杂图表PDF

当前导出PDF工具java后端如何导出像前端用echarts那么漂亮而且还有带有图表的PDF呢,或者图片。目前后端导出word或者excel都是有县城的jar,导出简单的图表也有的简单的jfreechart总结一下用java生成PDF的方法:A、itext-PdfStamper pdfStamper(俗称抠模板):代码简单 模板要先提供,且字段长度固定、不灵活B、itext-Document document(正常代码撰写):模板可根据代码调整、但样式不如C灵活 要维护的后台代码较多,整个过程全手工
原创
85阅读
0评论
0点赞
发布博客于 3 月前

java对mysql查询特殊字符转义

日在使用mysql的like查询用户时,当用户姓名中含有" ’ “,”%","_",,""等特殊符号时,按以往的查询方式,并不能得出想要的结果。查阅资料得知:在遇到这些特殊字符时,需要对字符进行转义。‘:用于包裹搜索条件,需转为’;%:用于代替任意数目的任意字符,需转换为%;_:用于代替一个任意字符,需转换为_;\:转义符号,需转换为\\。 public class RequstUtils { /** * special char handle * ':用于
原创
225阅读
0评论
0点赞
发布博客于 3 月前

keycloak-11.0.2修改数据源为mysql

下载mysql驱动https://repo1.maven.org/maven2/mysql/mysql-connector-java/8.0.13/mysql-connector-java-8.0.13.jar创建数据源module在keycloak根目录下创建目录keycloak/modules/system/layers/base/com/创建mysql/main/两层目录进入后将驱动文件copy到此目录下新建文件:module.xml,内容如下:<?xml version="1.0"
原创
197阅读
0评论
0点赞
发布博客于 5 月前

eureka源码

功能快捷键eureka服务端EurekaServerAutoConfiguration自动配置类,注册各种bean,包括PeerAwareInstanceRegistry用于服务注册(实际就是父类AbstractInstanceRegistry提供的ConcurrentHashMap(ConcurrentHashMap<String, Map<String, Lease>> )存放存放eureka服务端:服务注册列表:registry)、以及jersey。这里扫描获取所有@Pa
原创
72阅读
0评论
0点赞
发布博客于 5 月前

聚合支付二维码生成原理

聚合支付二维码生成原理聚合支付平台提供平台支付URL,生成统一的支付二维码。当消费者根据二维码扫描时,聚合支付平台根据扫描者浏览器类型判断支付类型,并提交参数给聚合支付平台支付处理接口处理。平台支付处理接口根据支付类型和商户ID,调用相应的支付渠道支付接口进行支付处理1.商户分别开通微信、支付宝、京东金融等支付渠道,各个平台审核通过后会生成微信商户编码,支付宝商户编码和京东金融商户编码2.商户将这些渠道的支付账号配置到聚合平台中,并分配给用户一个聚合唯一用户标识ID3.聚合平台通过微信、支付宝和京
转载
2512阅读
0评论
0点赞
发布博客于 10 月前

Scala 安装

Scala 安装Scala 语言可以运行在Window、Linux、Unix、 Mac OS X等系统上。Scala是基于java之上,大量使用java的类库和变量,使用 Scala 之前必须先安装 Java(>1.5版本)。https://www.scala-sbt.org/download.html最下面,other resources下载符合自己的二进制安装包,windows...
原创
234阅读
0评论
0点赞
发布博客于 1 年前

redis 分布式锁遇到的坑

用锁遇到过哪些问题?又是如何解决的?未关闭资源由于当前线程 获取到redis 锁,处理完业务后未及时释放锁,导致其它线程会一直尝试获取锁阻塞,例如:用Jedis客户端会报如下的错误信息1redis.clients.jedis.exceptions.JedisConnectionException: Could not get a resource from the poolredis线程池...
原创
1363阅读
1评论
2点赞
发布博客于 1 年前

使用 Spring Cache + Redis 作为缓存并支持自定义单个key设置过期时长

Spring CacheSpring针对不同的缓存技术,需要实现不同的cacheManager,Spring定义了如下的cacheManger实现。pomspringboot 项目加入如下依赖 <dependency> <groupId>org.springframework.boot</groupId> <ar...
原创
1082阅读
4评论
2点赞
发布博客于 1 年前

将项目发布到 maven 中央仓库sonatype

1注册sonatype账号官方网站:http://www.sonatype.org/注册地址是 https://issues.sonatype.org/secure/Signup!default.jspa 注册工单创建1> 访问sonatype并注册账号 https://issues.sonatype.org ,注意要记住账号密码,会用于我们后续的发布及相关操作2> 如图新建...
原创
813阅读
0评论
0点赞
发布博客于 1 年前

开源监控系统对比(Ganglia、Open-falcon、Prometheus、Zabbix) 不指定

最近调研了一下开源的监控系统,最终选择了open-falcon。从以下列表可以了解到各监控系统都有他在特定场景下的优势,如果以时间进行分类可以了解到新起之秀譬如open-falcon和prometheus设计思路都很像。 但最终选择open-falcon的原因主要还是在当前笔者所在的场景下解决了一些痛点、譬如大量数据上报页面展示渲染速度很快、模块化开发、有丰富的插件和中文文档等。关于open-...
转载
2485阅读
1评论
1点赞
发布博客于 2 年前

安装python3.7初始化

这里写自定义目录标题安装python3.7安装pip安装python3.7windows官方下载https://www.python.org/ftp/python/3.8.0/python-3.8.0.exe安装完成后安装pip(1)打开cmd界面,cd到C:\Users\Administrator\AppData\Local\Programs\Python\Python37\Scri...
原创
231阅读
0评论
0点赞
发布博客于 2 年前

flink入门实例-Windows下本地模式跑SocketWordCount

文章目录一、nc工具二、idea中配置,代码以及设置参数三、运行结果一、nc工具配置windows的nc端口,在网上下载nc.exe(https://eternallybored.org/misc/netcat/)进入解压目录运行如下命令nc -L -p 9000 -v使用命令开始nc制定端口为9000(nc -L -p 9000 -v) 启动插件二、idea中配置,代码以及设置参数...
转载
304阅读
0评论
0点赞
发布博客于 2 年前

INSERT ... ON DUPLICATE KEY UPDATE

网上关于INSERT … ON DUPLICATE KEY UPDATE大多数文章都是同一篇文章转来转去,首先这个语法的目的是为了解决重复性,当数据库中存在某个记录时,执行这条语句会更新它,而不存在这条记录时,会插入它。相当于 先判断一条记录是否存在,存在则update,否则insert。其语法是:INSERT INTO tablename(field1,field2, field3, ......
原创
51阅读
0评论
0点赞
发布博客于 2 年前

logback-spring.xml配置文件

集成到springboot的yml格式配置文件的示例:logging: config: classpath:logback-spring.xml level: dao: debug org: mybatis: debuglogback-spring.xml<?xml version="1.0" encoding="utf-8"?><c...
原创
250阅读
0评论
0点赞
发布博客于 2 年前

SKU,UPC,ASIN,EAN,GCID到底是什么鬼

1、UPC 全称Universal Product Code 由12位数字代码组成,每一条UPC码都不一样,UPC码里面的数字信息代表了产品的类别,制造商,属性,特性等。其特性是一种长度固定、连续性的条码,主要在美国和加拿大使用,我们在美国进口的商品上可以看到。UPC条码是由美国统一代码委员会制定的一种条码。我国有些出口到北美地区为了适应北美地区的需要,也需要申请UPC条码,UPC条码也有标准版...
原创
1052阅读
0评论
0点赞
发布博客于 2 年前

安装PowerDesigner16使用mysql8.0的ODBC导入数据库模型

安装PowerDesigner16PowerDesigner161.找到下载的破解文件并复制 16.5PJ 文件 pdflm16.dll2.找到软件的安装路径,例如我的是D盘下的powerdesign文件夹3.将复制的破解文件粘贴到改目录,会提示是否替换,替换就行ODBC数据源PW只使用32位的mysql 8.0 选择32位的Windows (x86, 32-bit), MSI Ins...
原创
3648阅读
0评论
2点赞
发布博客于 2 年前

idea2019版不显示maven project视图

主要是源于idea2019版与maven3.6.2版本不兼容下载3.6.0版本更新环境变量后重启ideahttps://archive.apache.org/dist/maven/maven-3/3.6.0/binaries/看图如下:新版本点视图为maven...
原创
3857阅读
0评论
0点赞
发布博客于 2 年前

Java锁升级

基础知识之一:锁的类型锁从宏观上分类,分为悲观锁与乐观锁。乐观锁乐观锁是一种乐观思想,即认为读多写少,遇到并发写的可能性低,每次去拿数据的时候都认为别人不会修改,所以不会上锁,但是在更新的时候会判断一下在此期间别人有没有去更新这个数据,采取在写时先读出当前版本号,然后加锁操作(比较跟上一次的版本号,如果一样则更新),如果失败则要重复读-比较-写的操作。java中的乐观锁基本都是通过CAS操...
转载
150阅读
0评论
0点赞
发布博客于 2 年前

tcp/ip 只有四次挥手?还有三次挥手

我们经常说tcp/ip 三次握手与四次挥手,实时上tcp/ip并不总是这样,它会存在一些特殊情况,并对这些特殊情况作了优化,下面给大家演示一遍:抓取我的服务器地址8080端口的一次http请求 ,在服务器端执行命令,抓取8080端口的请求:tcpdump -S -i eth0 tcp port 8080在客户端请求url地址wget http://118.24.47.200:80...
转载
109阅读
0评论
0点赞
发布博客于 2 年前

Windows 安装 MongoDB的 zip 版本

1、首先到官网(http://www.mongodb.org/downloads)或者(https://www.mongodb.org/dl/win32/x86_64-2008plus-ssl)下载合适的安装包,推荐下载zip压缩版。mongodb-win32-x86_64-2008plus-ssl-4.0.5.zip下载地址:https://fastdl.mongodb.org/win32...
原创
239阅读
0评论
0点赞
发布博客于 2 年前

Redlock:Redis集群分布式锁

前言分布式锁是一种非常有用的技术手段。实现高效的分布式锁有三个属性需要考虑:● 安全属性:互斥,不管什么时候,只有一个客户端持有锁● 效率属性A:不会死锁● 效率属性B:容错,只要大多数redis节点能够正常工作,客户端端都能获取和释放锁。普通版:单机redis分布式锁说道Redis分布式锁大部分人都会想到: setnx+lua或者set+lua,加上过期时间大多都是使用的下面的ke...
原创
841阅读
0评论
0点赞
发布博客于 2 年前

分布式定时任务解决方案

分布式定时任务解决方案一、背景服务有定时任务,当服务部署到多个节点时,每个节点在同一个时间点都会执行相同的定时任务,需要做的是,让同一个时间点,每一个定时任务只在一个节点上执行,避免重复执行。二、 解决方案思路单独设置任务调度服务使用Redis实现使用XXL-JOB实现使用Elastic-Job框架实现使用LTS框架实现三、方案3.1 方案一:单独设置任务调度服务任务调度...
转载
1012阅读
3评论
0点赞
发布博客于 2 年前

kafka,RabbitMQ的ack机制

这里写自定义目录标题简述kafka的ack机制RabbitMQ消息队列:ACK机制简述kafka的ack机制Kafka的ack机制,指的是producer的消息发送确认机制,这直接影响到Kafka集群的吞吐量和消息可靠性。而吞吐量和可靠性就像硬币的两面,两者不可兼得,只能平衡。ack有3个可选值,分别是1,0,-1。注意:ack的默认值就是1。这个默认值其实就是吞吐量与可靠性的一个折中方案...
原创
506阅读
0评论
0点赞
发布博客于 2 年前

MongoDB 走马观花(全面解读篇)

MongoDB 走马观花(全面解读篇)Java高级互联网架构2019-10-15 16:04:11目录一、简介 二、基本模型 BSON 数据类型 分布式ID 三、操作语法 四、索引 索引特性 索引分类 索引评估、调优 五、集群 分片机制 副本集 六、事务与一致性 一致性 小结一、简介MongoDB 是一款流行的开源文档型数据库,从它的命名来看,确实是...
转载
117阅读
0评论
0点赞
发布博客于 2 年前

adb最新版下载地址

adb最新版下载地址本文链接:https://blog.csdn.net/weixin_44175041/article/details/87270447ADB和Fastboot for Windowshttps://dl.google.com/android/repository/platform-tools-latest-windows.zipADB和Fastboot for Mac...
原创
10174阅读
2评论
1点赞
发布博客于 2 年前

Spring Cloud Gateway的路由,过滤器和限流

Spring 官方最终还是按捺不住推出了自己的网关组件:Spring Cloud Gateway ,相比之前我们使用的 Zuul(1.x) 它有哪些优势呢?Zuul(1.x) 基于 Servlet,使用阻塞 API,它不支持任何长连接,如 WebSockets,Spring Cloud Gateway 使用非阻塞 API,支持 WebSockets,支持限流等新特性。Spring Cloud G...
原创
1170阅读
0评论
1点赞
发布博客于 2 年前

排序总结-常用排序算法Java实现

排序总结稳定sort最差时间最好时间平均时间稳定空间复杂度冒泡排序O(n^2)O(n)O(n^2)稳定O(1)插入排序O(n^2)O(n)O(n^2)稳定O(1)二叉树排序O(n^2)O(nlogn)O(nlogn)稳定O(n)归并排序lO(nlogn)O(nlogn)O(nlogn)稳定O(n)不稳定...
原创
103阅读
0评论
0点赞
发布博客于 2 年前

2018年经历过的一些事情

负责并主要完成主要业务2017年中原有单体项目拆分为微服务,使用motan框架。商品详情,用户第三方登陆等数据库拆分,历史数据迁移2018年3月:CMS管理-新闻快报内容管理2018年5月:YXT红包:平均红包和随机红包2018年6-7月:云优特平台优惠券生成:平台券,店铺券,商品券,多商品券;领取方式:领取,发放,自动发放,云优特平台管理后台菜单栏根据角色获取相应的权限菜单进行前端...
原创
82阅读
0评论
0点赞
发布博客于 2 年前

BloomFilter使用和redis的setbit、bitcount实现用户上线次数统计

简介BloomFilter过滤器可以快速判断某值是否存在,虽然不一定准确,但是相对而且它既快速而且又相对准确。Bloom Filter没有False Negative,即判断某元素时否在Bloom Filter中时,如果返回False, 则可以肯定该元素不在集合中,但是Bloom Filter存在False Positive, 即如果返回True, 并不能完全肯定元素就在集合中,但是有很大的概...
原创
520阅读
0评论
0点赞
发布博客于 2 年前

GO GC 垃圾回收机制

原文链接:https://segmentfault.com/a/1190000018161588垃圾回收(Garbage Collection,简称GC)是编程语言中提供的内存管理功能。在传统的系统级编程语言(主要指C/C++)中,程序员定义了一个变量,就是在内存中开辟了一段相应的空间来存值。由于内存是有限的,所以当程序不再需要使用某个变量的时候,就需要销毁该对象并释放其所占用的内存资源,好重...
转载
114阅读
0评论
0点赞
发布博客于 2 年前

MySQL之MVVC简介

MySQL之MVVC简介一丶什么是MVVC?  MVVC (Multi-Version Concurrency Control) (注:与MVCC相对的,是基于锁的并发控制,Lock-Based Concurrency Control)是一种基于多版本的并发控制协议,只有在InnoDB引擎下存在。MVCC是为了实现事务的隔离性,通过版本号,避免同一数据在不同事务间的竞争,你可以把它当成基于多版...
转载
319阅读
1评论
0点赞
发布博客于 2 年前

写代码实现堆溢出、栈溢出、永久代溢出、直接内存溢出

文章目录常见溢出一、堆溢出二、栈溢出1、栈空间不足——StackOverflowError实例2、栈空间不足——OutOfMemberError实例三、永久代溢出1、永久代溢出——常量池溢出2、永久代溢出——方法区溢出四、直接内存溢出原文出处常见溢出栈溢出(StackOverflowError)堆溢出(OutOfMemoryError:Java heap space)永久代溢出(OutOf...
转载
147阅读
0评论
0点赞
发布博客于 2 年前

常见OOM现象

常见OOM现象《java 特种兵 上册》 3.6 常见的OOM现象( 136-146页),看此节后的总结。OOM的实际场景是很多的,这里介绍常见的,同时结合网络与实际测试中的一些资料信息。一.HeapSize OOM(堆空间内存溢出)关键字:java.lang.OutOfMemoryError:java heap space意思:堆空间溢出。老年代区域剩余的内存,已经无法满足将要晋升到老...
转载
182阅读
0评论
0点赞
发布博客于 2 年前

IO,NIO,AIO和高性能模型

简介首先,传统的 java.io包,它基于流模型实现,提供了我们最熟知的一些 IO 功能,比如 File 抽象、输入输出流等。交互方式是同步、阻塞的方式,也就是说,在读取输入流或者写入输出流时,在读、写动作完成之前,线程会一直阻塞在那里,它们之间的调用是可靠的线性顺序。java.io包的好处是代码比较简单、直观,缺点则是 IO 效率和扩展性存在局限性,容易成为应用性能的瓶颈。很多时候,人们也...
转载
141阅读
0评论
0点赞
发布博客于 2 年前

架构技术栈

互联网技术演进的模式互联网业务千差万别,但由于它们具有“规模决定一切”的相同点,其发展路径也基本上是一致的。互联网业务发展一般分为几个时期:初创期、发展期、竞争期、成熟期。不同时期的差别主要体现在两个方面:复杂性、用户规模。业务复杂性互联网业务发展第一个主要方向就是“业务越来越复杂”,我们来看看不同时期业务的复杂性的表现。初创期发展期竞争期成熟期用户规模互联网业务的发展第二个主...
转载
414阅读
0评论
0点赞
发布博客于 2 年前

LinkedHashMap源码和实现LRU算法

LinkedHashMap特别有意思,它不仅仅是在HashMap上增加Entry的双向链接,它更能借助此特性实现保证Iterator迭代按照插入顺序(以insert模式创建LinkedHashMap)或者实现LRU(Least Recently Used最近最少算法,以access模式创建LinkedHashMap)。下面是LinkedHashMap的get方法的代码public V get(...
转载
127阅读
0评论
0点赞
发布博客于 2 年前

Apache Curator客户端的使用

当前已有的三种API客户端zk原生API :不支持超时自动重连,不支持节点递归创建zkclient:无文档,异常处理弱爆了(简单的抛出RuntimeException)Apache Curator:简化并提供各种场景的使用方法Apache CuratorApache Curator是一个比较完善的ZooKeeper客户端框架,通过封装的一套高级API 简化了ZooKeeper的操作。...
转载
178阅读
0评论
0点赞
发布博客于 2 年前

mysql日志文件和数据恢复

binlog 基本认识MySQL的二进制日志可以说是MySQL最重要的日志了,它记录了所有的DDL和DML(除了数据查询语句)语句,以事件形式记录,还包含语句所执行的消耗的时间,MySQL的二进制日志是事务安全型的。一般来说开启二进制日志大概会有1%的性能损耗(参见MySQL官方中文手册 5.1.24版)。二进制有两个最重要的使用场景: 其一:MySQL Replication在Maste...
原创
417阅读
0评论
0点赞
发布博客于 2 年前

IDEA常用插件

常用插件安装:Setting->Plugins按照使用频率排序如下:Mybatis 工具:Free Mybatis plugin代码注解插件: LombokRedis可视化:IedisJSON转领域对象工具:GsonFormat代码生成工具:CodeMaker单元测试测试生成工具:JUnitGenerator中英文翻译工具:TranslationK8s工具:Kubernet...
原创
215阅读
0评论
0点赞
发布博客于 2 年前

Python环境安装

windows安装https://www.python.org/downloads/windows/选择Windows x86-64 web-based installer下载到本地点击安装,如果是自定义安装一定要勾选打开命令行:# pythonPython 3.7.4 (tags/v3.7.4:e09359112e, Jul 8 2019, 20:34:20) [MSC v.19...
原创
132阅读
0评论
0点赞
发布博客于 2 年前

powerDesigner绘制类图使用简介

因为后面要理清楚spring和设计模式中类与类之间关系,我们来看看如何使用powerDesigner绘制类图安装使用你要去下载powerDesiger,一路下一步安装好打开,点【file】-【New Model】选择【Model types】-【Object-Oriented Model】-【Class Diagram】-【java】-【ok】利用右侧的toolbox构建常见类关...
原创
303阅读
0评论
0点赞
发布博客于 2 年前

建造者模式Builder Pattern

## 模式的定义与特点建造者(Builder)模式的定义:指将一个复杂对象的构造与它的表示分离,使同样的构建过程可以创建不同的表示,这样的设计模式被称为建造者模式。它是将一个复杂的对象分解为多个简单的对象,然后一步一步构建而成。它将变与不变相分离,即产品的组成部分是不变的,但每一部分是可以灵活选择的。该模式的主要优点如下:各个具体的建造者相互独立,有利于系统的扩展。客户端不必知道产品内部组...
原创
90阅读
0评论
0点赞
发布博客于 2 年前

工厂模式Factory Pattern

模式的定义与特点工厂方法(FactoryMethod)模式的定义:定义一个创建产品对象的工厂接口,将产品对象的实际创建工作推迟到具体子工厂类当中。这满足创建型模式中所要求的**“创建与使用相分离”**的特点。我们把被创建的对象称为“产品”,把创建产品的对象称为“工厂”。如果要创建的产品不多,只要一个工厂类就可以完成,这种模式叫“简单工厂模式”,它不属于 GoF 的 23 种经典设计模式,它的缺...
原创
67阅读
0评论
0点赞
发布博客于 2 年前

常用java技术栈

视图模板:用Thymeleaf视图模板,freemark视图模板DAO:Mybatis,JPARedis:(Lettuce版本)
原创
368阅读
0评论
0点赞
发布博客于 2 年前

SpringBoot之使用JPA

JPASpring Data Jpa 介绍Spring Data JPA是Spring基于Hibernate开发的一个JPA框架。如果用过Hibernate或者MyBatis的话,就会知道对象关系映射(ORM)框架有多么方便。但是Spring Data JPA框架功能更进一步,为我们做了 一个数据持久层框架几乎能做的任何事情。并且提供了基础的增删查方法,具体api请看官网https://doc...
原创
64阅读
0评论
0点赞
发布博客于 2 年前

阿里云CentOS7 64位下安装MySQL5.7

文章目录安装myslq下载mysql源安装包卸载默认的低版本安装mysql修改root本地登录初始密码默认配置文件的路径安装myslq下载mysql源安装包shell> wget http://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm安装mysql源shell> yum localinstal...
原创
52阅读
0评论
0点赞
发布博客于 2 年前

SpringBoot集成 Spring-Data-ElasticSearch

Elasticsearch Java API有四类client连接方式TransportClient(不推荐)RestClientJest(不推荐)Spring Data Elasticsearch其中TransportClient和RestClient是Elasticsearch原生的api。TransportClient可以支持2.x,5.x版本,TransportClient将...
原创
2028阅读
0评论
0点赞
发布博客于 2 年前

Kibana导入CVS数据

导入CVS数据下载数据源CVS文件导入Machine Learning->DataVisualizer 点击UPLOAD修改lo的数据类型为geo_ip,然后点击import进度显示如下
翻译
3672阅读
0评论
1点赞
发布博客于 2 年前

logstash过滤器插件filter详解及实例

1、logstash过滤器插件filter1.1、grok正则捕获grok是一个十分强大的logstash filter插件,他可以通过正则解析任意文本,将非结构化日志数据弄成结构化和方便查询的结构。他是目前logstash 中解析非结构化日志数据最好的方式grok的语法规则是:%{语法:语义}“语法”指的是匹配的模式。例如使用NUMBER模式可以匹配出数字,IP模式则会匹配出127....
转载
246阅读
0评论
0点赞
发布博客于 2 年前

Kibana7.x基本的操作

KibanaKibana是一个Web应用程序,你可以通过5601来访问它。例如:localhost:5601当访问Kibana时,默认情况下,Discover页面加载时选择了默认索引模式。时间过滤器设置为最近15分钟,搜索查询设置为match-all(*)连接ES基本配置如下server.port: 5601server.host: "localhost"elasticsearch.h...
原创
18471阅读
3评论
5点赞
发布博客于 2 年前

kubeadm安装单机k8s

安装步骤关闭Centos自带的防火墙服务 systemctl disable firewalld systemctl stop firewalld1, 初始化系统,安装kubernetes所需的相关程序(所有master和node节点)添加kubernetes相关的yum库资源,国内可使用阿里云的镜像:vi /etc/yum.repos.d/kubernetes.repo[kube...
原创
1416阅读
2评论
1点赞
发布博客于 2 年前

Filebeat7.x安装和使用

简介Beats 有多种类型,可以根据实际应用需要选择合适的类型。常用的类型有:Packetbeat:网络数据包分析器,提供有关您的应用程序服务器之间交换的事务的信息。Filebeat:从您的服务器发送日志文件。Metricbeat:是一个服务器监视代理程序,它定期从服务器上运行的操作系统和服务收集指标。Winlogbeat:提供Windows事件日志。Filebeat 有两个主要...
原创
4642阅读
0评论
1点赞
发布博客于 2 年前

Logstash常用配置和日志解析

logstashlogstash是一个数据分析软件,主要目的是分析log日志。整一套软件可以当作一个MVC模型,logstash是controller层,Elasticsearch是一个model层,kibana是view层。首先将数据传给logstash,它将数据进行过滤和格式化(转成JSON格式),然后传给Elasticsearch进行存储、建搜索的索引,kibana提供前端的页面再进行搜...
原创
44110阅读
4评论
8点赞
发布博客于 2 年前

Nginx的日志log_format

1.HTTP请求大家都知道nginx作为webserver和http的代理,处理的就是http请求。http请求是是建立在tcp基础上的。一个完整的http请求包括request和response两部分。request组成:请求行,请求头,请求数据response组成:状态行,消息报头,响应正文我们可以在命令行查看一个完整的http请求: curl -v https://coding...
转载
1751阅读
0评论
1点赞
发布博客于 2 年前

Windows 上安装 ElasticSearch7.X

ElasticSearch 的下载地址:https://www.elastic.co/downloads/elasticsearch;下载好之后将其解压到你想要安装的目录:比如我的 D:\mnt\work_space\ELK\elasticsearch-7.3.0 。以上,就算安装好了。那么如何知道安装“好”了呢,运行一下就知道了。进入到D:\mnt\work_space\ELK\elas...
转载
2266阅读
0评论
0点赞
发布博客于 2 年前

ELK 日志分析系统部署

ELK 日志分析系统组件简介0、beats :日志收集客户端1、Logstash:日志收集服务端2、Elasticsearch :日志搜索引擎持久化3、Kinaba :数据分析工具Beats可以直接(或者通过Logstash)将数据发送到Elasticsearch,在那里你可以进一步处理和增强数据,然后在Kibana中将其可视化。Beats是个工具集,它包含了filebeat,w...
原创
2984阅读
0评论
1点赞
发布博客于 2 年前

服务追踪Zipkin+Spring Cloud Sleuth

为什么需要Spring Cloud Sleuth 微服务架构是一个分布式架构,它按业务划分服务单元,一个分布式系统往往有很多个服务单元。由于服务单元数量众多,业务的复杂性,如果出现了错误和异常,很难去定位。主要体现在,一个请求可能需要调用很多个服务,而内部服务的调用复杂性,决定了问题难以定位。所以微服务架构中,必须实现分布式链路追踪,去跟进一个请求到底有哪些服务参与,参与的顺序又是怎样的,从而达...
原创
558阅读
0评论
0点赞
发布博客于 2 年前

Linux之grep, sed, awk命令实例练习

Linux之grep, sed, awk命令实例练习 今天看到的一个非常不错的练习,可以巩固一下,所学的shell脚本。文件:datafileSteve Blenheim:238-923-7366:95 Latham Lane, Easton, PA 83755:11/12/56:20300Betty Boop:245-836-8357:635 Cutesy Lane, Hollyw...
转载
1299阅读
1评论
2点赞
发布博客于 2 年前

Docker-compose

docker,dockerfile与docker-compose区别docker 和操作系统无关的一个沙箱容器,宿主机安装的什么操作系统和其本身无关,在它基础上可以制作各种系统类型的基础服务Dockerfile 是把我们手工安装docer镜像的过程变成一个配置文件的方式运行,这样每次不用一步步手敲命令去安装了,而只是需要一个配置文件运行既可生成一个镜像假如你不用 docker ,搭建 wor...
原创
3826阅读
0评论
5点赞
发布博客于 2 年前

Java死锁排查

简介本篇整理两个排查问题的简单技巧,一个是java死锁排查,这个一般在面试的时会问到,如果没有写多线程的话,实际中遇到的机会不多;第二个是java cpu 100%排查,这个实际的开发中,线的应用出现这个问题可能性比较大,所以这里简单总结介绍一下,对自己学习知识的一个整理,提高自己的解决问题能力。Java死锁排查通过标题我们就要思考怎么排查代码中出现了死锁?作为技术人员(工程师),在面对...
转载
915阅读
0评论
0点赞
发布博客于 2 年前

Java应用CPU占用100%原因分析

一个应用占用CPU很高,除了确实是计算密集型应用之外,通常原因都是出现了死循环。以我们最近出现的一个实际故障为例,介绍怎么定位和解决这类问题。使用top命令查看cpu占用资源较高的进程PID根据top命令,发现PID为28555的Java进程占用CPU高达200%,出现故障。通过ps aux | grep PID命令,可以进一步确定是tomcat进程出现了问题。但是,怎么定位到具体线程...
转载
2202阅读
0评论
1点赞
发布博客于 2 年前

Java之SPI机制

之前开阿里的HSF框架,里面用到了Java的SPI机制,今天闲暇的时候去了解了一下,通过写博客来记录一下SPI的全名为Service Provider Interface,我对于该机制的理解是为接口寻找服务实现类。现在公司的系统都是进行了模块的划分,系统抽象为多个模块,往往有很多不同的实现方案,比如日志模块的方案,xml解析模块、jdbc模块的方案等。面向的对象的设计里,我们一般推荐模块之间基于...
转载
45阅读
0评论
0点赞
发布博客于 2 年前

HTTP与HTTPS的区别

超文本传输协议HTTP协议被用于在Web浏览器和网站服务器之间传递信息,HTTP协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了Web浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息,因此,HTTP协议不适合传输一些敏感信息,比如:信用卡号、密码等支付信息。为了解决HTTP协议的这一缺陷,需要使用另一种协议:安全套接字层超文本传输协议HTTPS,为了数据传输的安全,H...
转载
59阅读
0评论
0点赞
发布博客于 2 年前

docker之Dockerfile实践nginx

内容待叙
原创
391阅读
0评论
2点赞
发布博客于 2 年前

Docker 如何把镜像上传到docker hub

Docker 如何把镜像上传到docker hub准备工作首先你得准备一个hub 的帐号, 去 https://hub.docker.com 注册吧!查看本地已有镜像docker image lsREPOSITORY TAG IMAGE ID CREATED SIZEdocker.io/ce...
原创
2489阅读
0评论
1点赞
发布博客于 2 年前

以太坊私有链Win7环境搭建

Wind7环境下编译安装下载源码cd GO_PATH\github.com\mkdir ethereumcd ethereumgit clone https://github.com/ethereum/go-ethereum.git编译下载 http://www.mingw.org/编译器gcc安装好后在cmd输入gcc -v提示gcc version x.x.x表示安装成功...
转载
635阅读
6评论
0点赞
发布博客于 2 年前

敏捷开发之Scrum扫盲篇

简介根据自己的理解,用自己的话来讲述Scrum中的各个环节,主要目的有两个,一个是进行知识的总结,另外一个是觉得网上很多学习资料的讲述方式让初学者不太容易理解;所以我决定写一篇扫盲性的博文,同时试着也与园内的朋友一起分享交流一下,希望对初学者有帮助。敏捷开发(Agile Development)是一种以人为核心、迭代、循序渐进的开发方法。敏捷它是一种指导思想或开发方式,但是它没有明确告诉我们...
转载
544阅读
0评论
2点赞
发布博客于 2 年前

微服务相关面试要点

什么是springboot用来简化spring应用的初始搭建以及开发过程 使用特定的方式来进行配置(properties或yml文件)创建独立的spring引用程序 main方法运行嵌入的Tomcat 无需部署war文件简化maven配置自动配置spring添加对应功能starter自动化配置答:spring boot来简化spring应用开发,约定大于配置,去繁从简,just run...
转载
9309阅读
0评论
6点赞
发布博客于 2 年前

openresty安装及配置

资料准备http://openresty.org/cn/download.htmlcentos 版本需要参考资料:https://moonbingbing.gitbooks.io/openresty-best-practices/content/ngx/if_is_evil.htmlwindows安装下载windows版本的openresty:解压启动nginx.exe:双击ngi...
原创
1481阅读
0评论
0点赞
发布博客于 2 年前

Hyperledger fabric1.4.0搭建环境

Hyperledger fabric1.4.0搭建环境版本在Ubuntu 18.04上搭建Hyperledger fabric1.4.0环境https://www.jianshu.com/p/4f58e0fcb9f9https://blog.csdn.net/javaexploreroooo/article/details/71157902https://blog.csdn.net/zg...
原创
2154阅读
0评论
0点赞
发布博客于 2 年前

Kafka集群搭建

Kafka集群搭建1、软件环境1、linux一台或多台,大于等于22、已经搭建好的zookeeper集群(参考我上一篇zk集群搭建:https://blog.csdn.net/zjcjava/article/details/90107737)3、软件版本kafka_2.11-0.9.0.1.tgz2、创建目录并下载安装软件复制代码#创建目录cd /opt/mkdir kafka ...
原创
47阅读
0评论
0点赞
发布博客于 2 年前

zookeeper搭建集群

zookeeper集群的搭建(1)准备三台机器vi /etc/hosts192.168.33.201 hadoop1192.168.33.202 hadoop2192.168.33.203 hadoop3设置三个机器的本机免密登录(三台机器配置一样):ssh-keygen -t rsa ---一直回车即可cd /root/.ssh/ ---生成了公钥和私钥cat i...
原创
59阅读
0评论
0点赞
发布博客于 2 年前

zookeeper数据迁移

迁移的方式1.zookeeper自带命令实现数据迁移2.使用第三方jar实现拷贝迁移zookeeper原生命令行实现数据迁移原生命令不需要第三方参与,直接把它的最新数据和日志拷贝到另一台服务器的数据目录下重启即可。找到服务器上的zookeeper安装路径ps -ef |grep zookeepervi /usr/local/zookeeper-3.4.9/conf/zoo.cfg...
原创
1075阅读
0评论
0点赞
发布博客于 2 年前

gitlab项目仓库自动同步到github或者码云gitee

把gitlab现有的项目备份同步到其他仓库里面,比如到gitee上前提1.已经存在gitlab项目2.已经有gitee账号(没有的可以自行注册)3.在gitee上已经创建了相关的分组和对应的项目名称仓库gitee分组创建仓库API(码云API文档:创建组织仓库https://gitee.com/api/v5/swagger#/postV5OrgsOrgRepos)curl https:...
原创
3454阅读
0评论
1点赞
发布博客于 2 年前

Mysql常见考点

MySQL架构组成2.MySQL备份和恢复3.MySQL查询和慢查询日志分析4.MySQL索引优化5.MySQL存储引擎优化6.MySQL锁机制优化7.MySQL高可用设计8.MySQL集群SQL分类:DDL DML DCL一、DDL(数据库定义语言)定义不同的数据段、数据库、表、列、索引等数据库对象,常用语句关键字:create drop alter等二、DML(数据...
原创
570阅读
0评论
0点赞
发布博客于 2 年前

NIO概述

简介Java NIO(New IO)是一个可以替代标准Java IO API的IO API(从Java 1.4开始),Java NIO提供了与标准IO不同的IO工作方式。Java NIO: Channels and Buffers(通道和缓冲区)标准的IO基于字节流和字符流进行操作的,而NIO是基于通道(Channel)和缓冲区(Buffer)进行操作,数据总是从通道读取到缓冲区中,或者从缓...
转载
110阅读
0评论
0点赞
发布博客于 2 年前

当前主流服务注册中心对比

当前主流服务注册中心对比
原创
3891阅读
0评论
1点赞
发布博客于 2 年前

Go连接Apollo配置中心对比是否已经导入过配置信息

##代码引入配置信息使用go链接阿波罗配置中心func test() { fmt.Println("----------------------------------------------") fstr, err := ioutil.ReadFile("D:/Documents/i18n.user.not.exists.error.en-us") check(err) //...
原创
4363阅读
0评论
0点赞
发布博客于 2 年前

Iris实现reponse拦截返回客户端消息

基本思路要求2019/3/22 22:54晚间终于走通了大致的拦截流程。项目需求,由于项目国际化需要,本公司所有系统翻译配置信息使用集中集群方式配置在apollo配置中心里面,最好的方式当然是吧所有的状态码都统一在路由层处理,但是同事实测nginx+lua解析服务返回json严重影响路由效率,因此java项目和go项目都统一使用自身拦截器处理,降低业务层逻辑的耦合。java spirng b...
原创
1508阅读
0评论
0点赞
发布博客于 2 年前

Go 程序的国际化

概述Go 是静态编译的编程语言,最近很受欢迎,因为它简单、性能好而且非常适合开发云端应用。它有强大的能够 处理国际化(i18n)和本地化(l10n)的库,比如处理字符编码、文本转换还有特定地区的文本,但这个包的 文档写得不够好。让我们来看看该怎么使用这个库,并且让我们的 Go 程序能适应不同区域。上面说的包是 golang.org/x/text ,如果用得好,在你想让应用全球化时能帮上大忙。...
转载
1100阅读
0评论
0点赞
发布博客于 2 年前

SpringBoot使用Nacos作为配置中心服务和服务注册中心

简介从spring开始,所有的配置文件都放在项目中,如果需要修改配置文件内容,则需要登陆服务器重启服务。想象一下如果你有一百台服务的需要修改,那是不可想象的工作量。目前已有的配置中心携程开源的Apollo:数据保存在mysql中,支持命名空间和分发更新配置springcloud 中的springcloud config:必须使用git保存配置信息阿里的开源Nacos其他项目未关注最次...
原创
115538阅读
20评论
29点赞
发布博客于 2 年前

MySQL同步机制、主从复制半同步和双主配置

复制架构衍生史在谈这个特性之前,我们先来看看MySQL的复制架构衍生史。在2000年,MySQL 3.23.15版本引入了Replication。Replication作为一种准实时同步方式,得到广泛应用。这个时候的Replicaton的实现涉及到两个线程,一个在Master,一个在Slave。Slave的I/O和SQL功能是作为一个线程,从Master获取到event后直接apply,没有r...
转载
2652阅读
0评论
0点赞
发布博客于 2 年前

Nginx负载均衡的几种方式

Nginx负载均衡的几种方式目前一共有五种,这个也是常见面试考点之一哦轮询轮询方式是Nginx负载默认的方式,顾名思义,所有请求都按照时间顺序分配到不同的服务上,如果服务Down掉,可以自动剔除,如下配置后轮训10001服务和10002服务。upstream dalaoyang-server { server localhost:10001; serve...
转载
663阅读
0评论
3点赞
发布博客于 2 年前

mysql主从复制实操

主从复制简介MySQL之间数据复制的基础是二进制日志文件(binary log file)。一台MySQL数据库一旦启用二进制日志后,其作为master,它的数据库中所有操作都会以“事件”的方式记录在二进制日志中,其他数据库作为slave通过一个I/O线程与主服务器保持通信,并监控master的二进制日志文件的变化,如果发现master二进制日志文件发生变化,则会把变化复制到自己的中继日志中,...
原创
117阅读
0评论
0点赞
发布博客于 2 年前

FastJson对Object对象的解析问题

问题描述ActivityRuleBase 基础类,ActivityRuleUserVo,ActivityRulePayTypeVo 继承ActivityRuleBase 类public class Activity implements Serializable { private Long id; // private String name; //活动名称 private Li...
原创
1300阅读
0评论
0点赞
发布博客于 2 年前

分库分表

一. 数据切分关系型数据库本身比较容易成为系统瓶颈,单机存储容量、连接数、处理能力都有限。当单表的数据量达到1000W或100G以后,由于查询维度较多,即使添加从库、优化索引,做很多操作时性能仍下降严重。此时就要考虑对其进行切分了,切分的目的就在于减少数据库的负担,缩短查询时间。数据库分布式核心内容无非就是数据切分(Sharding),以及切分后对数据的定位、整合。数据切分就是将数据分...
转载
96阅读
0评论
0点赞
发布博客于 2 年前

单例模式的五种写法

文章目录单例模式简介如何正确地写出单例模式懒汉式,线程安全双重检验锁饿汉式 static final field静态内部类 static nested class枚举 Enum总结Read More单例模式单例模式是最常用到的设计模式之一,熟悉设计模式的朋友对单例模式都不会陌生。一般介绍单例模式的书籍都会提到 饿汉式 和 懒汉式 这两种实现方式。但是除了这两种方式,本文还会介绍其他几种实现单例...
转载
167阅读
0评论
0点赞
发布博客于 2 年前

hadoop执行任务时常见exception

hadoop.mapred.FileAlreadyExistsExceptionException in thread "main" org.apache.hadoop.mapred.FileAlreadyExistsException: Output directory hdfs://master:9000/mnt/hadoop/out already exists at org.apach...
原创
212阅读
0评论
0点赞
发布博客于 2 年前

Phoenix使用指南

PhoenixPhoenix是构建在HBase上的一个SQL层,能让我们用标准的JDBC APIs而不是HBase客户端APIs来创建表,插入数据和对HBase数据进行查询,如果可以像操作mysql等一样通过sql实现对Hbase的操作,那么很大程度降低了Hbase的使用成本。Apache Phoenix 组件就完成了这种需求,官方注解为 “Phoenix -we put the SQL bac...
原创
559阅读
0评论
0点赞
发布博客于 2 年前

Hbase使用javaAPI链接调用和过滤器API的使用

javaAPI调用链接HbasejavaAPI链接Hbase的基础demo,后面的过滤部分也以此table为主pom &amp;lt;!--HBASE START--&amp;gt; &amp;lt;dependency&amp;gt; &amp;lt;groupId&amp;gt;org.apache.hbase&amp;lt;/groupId&amp;gt; &amp;lt;artifactId&am
原创
443阅读
1评论
1点赞
发布博客于 2 年前

Hbase使用javaAPI链接调用和过滤器API的使用

javaAPI调用链接HbasejavaAPI链接Hbase的基础demo,后面的过滤部分也以此table为主pom &amp;lt;!--HBASE START--&amp;gt; &amp;lt;dependency&amp;gt; &amp;lt;groupId&amp;gt;org.apache.hbase&amp;lt;/groupId&amp;gt; &amp;lt;artifactId&am
原创
443阅读
1评论
1点赞
发布博客于 2 年前

Hbase单机安装和javaAPI客户端链接测试

Hbase单机安装本测试机的信息如下centos 7192.168.1.101 master关掉所有的zookeeper,使用外部的ZK,导致冲突。单机版会使用自带的zookeeper启动,避免端口被占用,这个地方很容易进坑查看zk端口是否被占用,被占用的一律关掉,只有在分布式情况下使用外部zk需要配置才可以使用netstat -antp | fgrep 2181hotname...
原创
750阅读
1评论
0点赞
发布博客于 2 年前

HBase的概述基本组件和数据常用shell脚本操作

HBase的概述架构及基本组件概述:1.HBase是一个构建在HDFS上的分布式列存储系统之上的表结构系统;2.HBase是基于Google BigTable模型开发的,典型的key/value系统;3.主要用于海量结构化非固定模式数据存储;将数据按照表、行和列进行存储。4.与hadoop一样,Hbase目标主要依靠横向扩展,通过不断增加廉价的商用服务器,来增加计算和存储能力。术语缩写...
原创
1119阅读
0评论
2点赞
发布博客于 2 年前

ZooKeeper基础命令特点和分布式锁实现的原理

ZooKeeper设计目的1.最终一致性:client不论连接到哪个Server,展示给它都是同一个视图,这是zookeeper最重要的性能。2.可靠性:具有简单、健壮、良好的性能,如果消息m被到一台服务器接受,那么它将被所有的服务器接受。3.实时性:Zookeeper保证客户端将在一个时间间隔范围内获得服务器的更新信息,或者服务器失效的信息。但由于网络延时等原因,Zookeeper不能保证...
原创
141阅读
0评论
0点赞
发布博客于 3 年前