`
mmBlue
  • 浏览: 167200 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论
文章列表
 目的:学习、实践K8S   各组件介绍: 1. git  无 2. Harbor当镜像仓库,如果你的k8s master slave在一台机器上则不用搭建 3. jenkins 做CI CD,从GIT拉取代码,打包,生成docker镜像、推送Harbor仓库,然后deploy服务到k8s 4. consul 用来做 ...
网上都是和docker官方结合做服务发现的,其实docker里面doc就说不推荐那么玩了。 0. 软件清单 zookeeper   192.168.6.62 host1          192.168.160.132 host2          192.168.160.133 host3(manager)          192.168.160.134   每一台都设置 /etc/default/docker DOCKER_OPTS=" -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock"   ...
1. 安装好 Swarm   2. 修改 守护进程参数 (红色地方,每台机器设置不同) DOCKER_OPTS=" --label name=server-1 -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock --cluster-store zk://192.168.6.62/store --cluster-advertise eth0:2376"   3. 创建虚拟网络   docker -H tcp://192.168.124.128:8888 network create -d over ...
Service Discovery 服务发现,我以前不是很明白zookeeper怎么做集群,只知道注册啥的,突然有一天悟了,不得不佩服一套文件系统可以变化出很多伟大的应用。说说思路。   场景:提供一个分布式Restful 服务让客户端去调用,支持动态加减机器。   分析: server端并不复杂,启动webserver后,暴露http://url:8088/rs/xx 出去即可,那么会有如下几个: server1: http://192.168.50.11:8088/rs/xx  server2: http://192.168.50.12:8088/rs/xx    cl ...

Curator Barrier

分布式Barrier,直接看代码好了: package curator.barrier; import java.util.ArrayList; import java.util.List; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import org.apache.curator.RetryPolicy; import org.apache.curator.framework.CuratorFramework; import org.apac ...
这个比较好理解,分布式数字,类似AtomicInteger系列,Curator有2个实现: 第一个: package curator.counters; import org.apache.curator.RetryPolicy; import org.apache.curator.framework.CuratorFramework; import org.apache.curator.framework.CuratorFrameworkFactory; import org.apache.curator.framework.recipes.shared.SharedCoun ...

Curator selector

zookeeper最经典的用法,选举。Curator的实现有2个种: LeaderLatch:        这种是有阻塞的,就是大家一起上,谁先上了,就一直阻塞着,直到方法执行完成。如果执行结束,那么其他的兄弟就选一个出来。我觉得这种适合主备,比如开2 个 job,一个挂了另一个就上。 代码,这种代码最好是开2个eclipse看效果,顺序打开,看效果,再领悟: package curator.selector; import org.apache.curator.RetryPolicy; import org.apache.curator.framework.CuratorF ...

Curator lock

 Curator 提供的分布式锁用法,很简单:   package curator.lock; import org.apache.curator.RetryPolicy; import org.apache.curator.framework.CuratorFramework; import org.apache.curator.framework.CuratorFrameworkFactory; import org.apache.curator.framework.recipes.locks.InterProcessMutex; import org.apache.c ...

Curator Framework

Framework 比较简单,就是一些CRUD,Watch : package curator.framework; import java.util.List; import org.apache.curator.RetryPolicy; import org.apache.curator.framework.CuratorFramework; import org.apache.curator.framework.CuratorFrameworkFactory; import org.apache.curator.retry.ExponentialBackoffRetr ...
zookeeper 中 session 过期解释:   当client 和 server 连接后,不是100%保证一直可以连上的。比如网络问题。那么client需要重连,这种机制自己实现比较复杂,还在有Curator客户端帮我们解决了,只需要在连接后注册一个监听器就可以了。 模拟服务端线路不通可以开启防火墙方法,或者, 开启81端口:iptables -I INPUT -i eth0 -p tcp --dport 81 -j ACCEPTiptables  -I OUTPUT -o eth0 -p tcp --sport 81 -j ACCEPT关闭81端口:iptables -I ...
#!/usr/bin/python # -*- coding: UTF-8 -*- import platform,os import time import subprocess import sys import ctypes def get_sysinfo(): sys = platform.system() return os.getpid(),sys def get_path(): p=os.path.split(os.path.realpath(__file__)) # ('D:\\workspace\\python\ ...

IM解决方案

  曾今做过web im ,总结下目前我所了解到的web im解决方案。做 web im ,有2个难题,一个是http长链接,一个是服务端,互相搭配起来也很多,比如:   1.pushlet + map pushlet基于事件模式的,是个js库,这个我架了个demo,感觉深入比较复杂,当时略过。服务端就是自己搞个线程安全的map处理业务逻辑,主要是发消息,所有在线人员   2. dwr ,服务端和上面的类似。只是长链接是dwr做的。   3. flash 的 xmlsocket + mina ,基于 flash的,我当时还做了个demo,后来因为考虑浏览器支持放弃了。   以 ...
  今天早上公司数据库服务器top查看,cpu 99.8% load average 123,非常严重,首先想到的是mysql肯定是死锁了,因为我入职不久,对很多设计不是很清楚,也不知道是哪张表,翻阅文章后是如下解决的:   查询比较久的事务 SELECT * FROM INFORMATION_SCHEMA.INNODB_TRX 发现sql  SELECT EndDate FROM StockUpDown WHERE StockID = '002392' AND MarketID = 1 ORDER BY EndDate DESC LIMIT 1 一直等待中,查询需要9s,于是查 ...
 maven-resources-plugin 2.6 有个奇怪的现象,project-clean的时候,会导致src/test/resources下面的资源文件,编译后在 target/test-classes下面没有,后来试验了几个空项目,都有这样的问题,换成2.5就好了 。也和 maven.test.skip参数有关系,如果采用默认值,不会有此问题,当设置为 true的时候,会出现。
将Maven项目的一键部署从原来的http上传改为: compile的时候连接linux,关闭tomcat,删除logs、work,再启动tomcat,最后打包部署。 考虑了采用maven-antrun-plugin插件,但是开始一直报错,找不到jsch这些jar,但是单独运行build.xml又是好的。后来干脆直接在build.xml里面引入jar了,解决问题了,配置文件如下:   Pom.xml <plugin> <groupId>org.apache.maven.plugins</groupId> <artif ...
Global site tag (gtag.js) - Google Analytics