- 博客(49)
- 资源 (2)
- 收藏
- 关注
原创 istio安装和入门实例
1 安装下载istio最新安装包https://github.com/istio/istio/releaseswget https://github.com/istio/istio/releases/download/0.4.0/istio-0.4.0-linux.tar.gz解压安装包:tar -zxvf istio-0.4.0-linux.tar.gzcd istio
2018-01-18 14:37:45
2246
原创 storm集群安装
1 环境 主机名 ip地址 storm01 172.16.120.181 storm02 172.16.120.182 storm03 172.16.120.183mac os x固定vware虚拟机IP==sudo vi /Library/Preferences/VMware\ Fusion/vmnet8/dhcpd.conf== 在文件末尾添加host storm
2017-12-26 14:39:16
842
原创 zookeeper集群部署
1.部署环境1.集群机器配置node1: 192.168.1.250node2: 192.168.1.251node3: 192.168.1.2522 下载和解压wget http://mirror.bit.edu.cn/apache/zookeeper/stable/zookeeper-3.4.10.tar.gztar -xzvf zookeeper-3.4.10.tar.gzmv zoo
2017-12-26 14:38:25
551
原创 redis-sentinel集群(k8s脚本)
redis主备建议将rdb和aof同时开启。rdb默认是开启的,aof默认是关闭的。有关rdb和aof其他详细内容请参考http://blog.youkuaiyun.com/guoxingege/article/details/487807451 主节点redis-master.conf配置详解requirepass 123456## 以下为rdb配置#dbfilename:持久化数
2017-12-05 15:03:43
5020
原创 基于docker的ceph集群
docker run -d --name=mon --net=host \--restart=always \-v /etc/ceph:/etc/ceph \-v /var/lib/ceph:/var/lib/ceph \-e MON_IP=192.168.0.1 \-e CEPH_PUBLIC_NETWORK=192.168.0.0/24 \ceph/daemon:tag-build-master-je
2017-11-05 22:53:05
1570
原创 使用kuberspay部署高可用kubernetes集群
环境安装 ansible设置免密登录下载kuberspay源码将grcio和quayio的镜像上传到阿里云镜像替换配置文件内容生成集群配置安装集群troubles shooting安装失败清理参考0 环境环境: 主机名 IP k8s-node01 172.16.120.151 k8s-node02 172.16.120.152 k8s-node03
2017-08-30 11:41:15
9958
原创 使用kubeadm安装kubernetes1.7/1.8/1.9
环境下载kubernetes和安装1 方案1使用阿里云yum镜像2 使用国外服务器下载安装包下载kubernetes镜像配置kubelet启动相关组件创建集群配置kubectl的kubeconfig安装flannelmaster节点安装验证node节点安装和加入集群node节点安装验证参考自动化脚本已经上传到github,目前脚本支持版本有1.7.2、1.8
2017-08-02 10:34:13
29317
原创 kubernetes:kubedns安装
下载kubernetes安装包 https://github.com/kubernetes/kubernetes/releases/download/v1.6.7/kubernetes.tar.gz, 在kubernetes/cluster/addons/dns目录下有kubedns的安装脚本。本文的脚步在已上传到github: https://github.com/zhuchuangang/
2017-07-25 18:33:32
8694
原创 kubernetes 1.6自动安装脚本
环境安装etcd安装kubernetes master安装kubernetes node本文的kubernetes的安装脚步已经上传到github: https://github.com/zhuchuangang/k8s-install-scripts1 环境至少3台centos 7虚机 虚机名称 IP node01 172.16.120.151 node02 172
2017-07-22 11:47:00
1593
原创 Hystrix请求合并
继承HystrixCollapser实现请求合并1 HystrixCollapser的实现类2 UserService批量查询接口3 UserBatchCommand批量查询命令使用注解方式来实现请求合并1 继承HystrixCollapser实现请求合并1.1 HystrixCollapser的实现类 import com.netflix.hystrix.HystrixCollapser;
2017-07-07 13:22:11
5204
2
原创 hystrix缓存功能的使用
通过HystrixCommand类实现1 开启缓存功能2 配置HystrixRequestContextServletFilter3 清除失效缓存使用CacheResultCacheRemove和CacheKey标注来实现缓存1 使用CacheResult实现缓存功能2 使用CacheResult和CacheKey实现缓存功能3 使用CacheRemove清空缓存hystrix缓存的
2017-07-06 16:37:40
7047
原创 01_mycat1.6源码_mycat接受客户端连接并发送握手报文
mycat接受客户端连接并发送握手报文1 NIOAcceptor的实现11 NIOAcceptor的初始化12 NIOAcceptor线程的run方法13 NIOAcceptor的accept方法14 NIOAcceptor的closeChannel方法2 NIOReactor建立连接21 NIOReactor的初始化22 NIOReactor的启动23 RW的初始化24 RW的
2017-05-24 11:20:06
1950
原创 docker下运行sonarqube
基于PostgreSQL运行SonarQube分析项目中文插件1 基于PostgreSQL运行SonarQubedocker-compose.yml:version: '2'services: sonarqube: image: sonarqube container_name: sonarqube-server ports: - "9000:9000"
2017-05-18 13:12:14
1401
原创 mycat2.0源码分析02-客户端发送认证报文
mycat客户端发送认证报文1 NIOReactor报文的异步读取和报文格式验证11 NIOReactor处理读事件12 Connection的asynRead读取报文13 MySQLFrontConnectionHandler对报文格式的验证2 认证报文的验证和响应21 调用CheckUserLoginResponseCallback的processCmd方法对认证报文验证22 调用
2017-05-11 15:23:37
1389
转载 各种字符串Hash函数比较
常用的字符串Hash函数还有ELFHash,APHash等等,都是十分简单有效的方法。这些函数使用位运算使得每一个字符都对最后的函数值产生影响。另外还有以MD5和SHA1为代表的杂凑函数,这些函数几乎不可能找到碰撞。常用字符串哈希函数有BKDRHash,APHash,DJBHash,JSHash,RSHash,SDBMHash,PJWHash,ELFHash等等。对于以上几种哈希函数,我对其进行了一
2017-05-09 23:15:40
914
原创 mycat2.0源码分析01-接受客户端连接并发送握手报文
mycat接受客户端连接并发送握手报文1 NIOAcceptor的实现11 NIOAcceptor的初始化12 NIOAcceptor线程的run方法13 NIOAcceptor的accept方法14 NIOAcceptor的closeChannel方法2 NIOReactor处理读事件21 NIOReactor的初始化22 NIOReactor的启动23 RWThread的初始
2017-05-09 18:28:21
1149
原创 04_mysql文本协议
只挑选几个重点命令讲解1 COM_QUERYCOM_QUERY用于向服务器发送立即执行的基于文本的查询。报文结构: 3 bytes 报文长度 1 byte 序号 1 byte 命令 n bytes 参数包体部分: - command_id ( 1 ):0x03 COM_QUERY - query ( string.EOF ):query_text查询字符串的长度取自数据包长度-1
2017-04-26 16:04:59
1058
原创 03_mysql认证方法
只介绍mysql_native_password认证方法1 安全密码验证(mysql_native_password)客户端期望一个20字节的随机加密字符,参考HandshakeV10握手报文的auth-plugin-data-part-1和auth-plugin-data-part-2,这个两个字段组合在一起是20个字节的加密字符客户端根据下面描述的算法返回一个20字节的响应1.1 加密方法SHA
2017-04-26 15:57:44
731
翻译 02_mysql连接阶段
Created with Raphaël 2.1.0ClientClientServerServer1.TCP连接请求2.接受TCP连接3.TCP连接建立4.握手包HandshakePacket5.认证包AuthPacket6.如果验证成功,则返回OkPacket7.发送查询版本信息的包8.返回结果包连接阶段执行以下任务: - 交换客户端和服务器的功能(capabilities) - 如果需要,
2017-04-26 15:56:51
592
翻译 01_mysql协议基础
1 基本类型1.1 整数类型1.1.1 固定长度整型MySQL报文中整型值分别有1、2、3、4、6、8字节长度,使用小字节序传输。1.1.2 长度编码整数类型一个整数,消耗1,3,4或9个字节,具体取决于其数值要将数字值转换为长度编码的整数:如果值<251,则将其存储为1字节整数。如果值为≥251且< 2^16,则存储为0xfc + 2字节整数。如果值为≥2^16 和 <2^24, 0xfd + 3
2017-04-26 15:52:22
576
原创 java并发机制的底层实现原理
参考 JAVA并发编程的艺术 Java代码的一生:编译后变成Java字节码字节码被类加载器加载到jvmjvm执行字节码,最终转换为汇编指令在CPU上运行Java中使用的并发机制依赖于jvm的实现和CPU指令1 volatile1.1 volatile的应用volatile是轻量级的synchronized. 在多处理器开发中保证共享变量的可见性。volatile不会引发线程上下文的切换,比s
2017-04-26 15:41:32
1396
原创 docker中运行mongo副本集
1 创建镜像mongo集群配置镜像新建文件夹mongo/setup,在该文件夹下创建Dockfile和mongo-rs-setup.sh两个文件。内容如下:mongo-rs-setup.sh#!/bin/bashecho "Running mongo-rs-setup.sh"#set default rs nameif test -z $RS_NAME then RS_NAME=rsf
2017-01-11 09:49:16
2125
1
转载 02_actor系统
2 actor系统Actor是封装状态和行为的对象,他们的唯一通讯方式是交换消息,交换的消息存放在接收方的邮箱里。从某种意义上来说,actor是面向对象的最严格的形式,但是最后把它们看成一些人:在使用actor来对解决方案建模时,把actor想象成一群人,把子任务分配给他们,将他们的功能整理成一个有组织的结构,考虑如何将失败逐级上传(好在我们并不需要真正跟人打交道,这样我们就不需要关心他们的情绪状态
2016-08-06 09:13:40
1185
原创 01_akka入门(java版)
文档版本:2.4.9 RC11.环境akka需要java8以上版本.2.入门指导和模板项目学习akka最好的途径是下载 Lightbend Activator 并实验一个akka模板项目.3.模块akka非常的模块化,是由包含不同特性的jar文件组成.akka-actor – Classic Actors, Typed Actors, IO Actor etc.akka-agent – Age
2016-08-04 09:43:44
7496
原创 spring cloud/mesos:在mesos上运行spring cloud config配置服务
之前已经说明如何在mesos上运行eureka服务发现,下面介绍如何在mesos上运行spring cloud config配置服务,并将配置服务注册到eureka上。eureka客户端注册服务时使用主机名,也可以通过spring cloud的配置eureka.instance.prefer-ip-address: true指定使用IP地址,配置服务默认注册到erueka上的是docker的主机名(
2016-05-03 17:13:41
4575
原创 spring cloud/mesos:在mesos上运行高可用的eureka服务发现
1.创建eureka服务1.1 创建maven项目spring cloud使用的版本是Brixton.M5,docker-maven-plugin使用的版本是0.4.1。 pom.xml文件代码如下:<?xml version="1.0" encoding="utf-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi=
2016-05-02 10:26:33
5035
原创 spring cloud: Hystrix断路器(熔断器)
1.Hystrix客户端Netflix已经创建了一个名为Hystrix的库,实现了断路器的模式。在microservice架构通常有多个层的服务调用。 低水平的服务的服务失败会导致级联故障一直给到用户。当调用一个特定的服务达到一定阈值(默认5秒失败20次),打开断路器。在错误的情况下和一个开启的断路回滚应可以由开发人员提供。 有一个断路器阻止级联失败并且允许关闭服务一段时间进行愈合。回滚会被其他
2016-05-01 10:06:31
42537
1
原创 mesos上运行docker registry
环境准备,请参考mesosphere/marathon/docker安装配置1.marathon服务编排下面为marathon服务编排配置:{ "id":"registry", "cpus":1, "mem":256, "instances":1, "container":{ "type":"DOCKER", "docker":
2016-04-30 13:55:52
1458
原创 mongodb3.0副本集配置
1.环境分别在三个主机上安装mongodb,可以使用yum进行安装。 主机IP分别为: 192.168.0.1 192.168.0.2 192.168.0.32.配置文件设置由于配置比较多,所以我们将配置写到文件里。编辑每个节点的配置文件:vi /etc/mongod.conf文件内容:systemLog: destination: file logAppend: true pa
2016-04-21 15:57:54
3005
原创 在centos中使用yum安装mongodb
下面以安装mongodb3.x为例。mongoDB正式提供packge安装支持,在他们的仓库中包含下面的包: mongodb-org:这个包会自动安装下面所有的组件包 mongodb-org-server: 包含mongod,和相关配置和初始脚本 mongodb-org-mongos: 包含mongos mongodb-org-shell: 包含mongo脚本 mongodb-org-to
2016-04-20 17:37:42
5586
原创 spring cloud:eureka服务发现
1.eureka服务端服务端代码@SpringBootApplication@EnableEurekaServerpublic class Application { public static void main(String[] args) { new SpringApplicationBuilder(Application.class).web(true).run(a
2016-04-20 16:57:44
87611
原创 spring cloud:spring cloud config
spring cloud config在分布式系统中提供了服务端和客户端支持来提供外部化的配置。配置服务器有一个中心配置仓库,来管理应用程序所有环境的外部配置属性。spring cloud config很适合与Spring应用程序配合使用,可以被用于任何应用程序。随着应用程序通过部署管道从开发到测试到生产管理这些环境之间的配置,确保应用程序拥有他们所需要的一切运行时迁移。服务器的默认实现存储后端使用
2016-04-16 16:16:56
7397
翻译 marathon参考(11):ports端口设置
Portsmarathon中应用的端口配置可能被混淆,并有一个悬而未决的问题,需要重新设计 ports API。这个页面试图更清楚地解释它们是如何工作的。定义containerPort:在容器内部,是一个容器端口。在使用docker容器的时候,当我们使用BRIDGE网络模式,这是端口映射的一部分,必须设置。hostPort:主机上的端口。当使用BRIDGE网络模式的时候,你需要指定从主机端口到容器的
2016-04-16 14:05:11
7977
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人