- 浏览: 167501 次
- 性别:
- 来自: 杭州
最新评论
-
px96004:
不好用啊.你grails什么版本啊 我的是 2.2.3啊还有. ...
在Grails下查看真实的SQL -
扬V幻:
[flash=200,200][url][img][list] ...
Grails 复用查询条件并分页 -
yaoguanyuan:
按照上面这个例子,要是再加上查询应如何实现,能示范一下吗
jsp生成静态页并分页 -
jzzwy:
不过还是蛮精彩的 学习了很多
ibatis中动态SQL_update -
jzzwy:
UPDATE MYIVR_TUSER
<d ...
ibatis中动态SQL_update
文章列表
目的:学习、实践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
- 博客分类:
- ZooKeeper
分布式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
zookeeper最经典的用法,选举。Curator的实现有2个种:
LeaderLatch:
这种是有阻塞的,就是大家一起上,谁先上了,就一直阻塞着,直到方法执行完成。如果执行结束,那么其他的兄弟就选一个出来。我觉得这种适合主备,比如开2 个 job,一个挂了另一个就上。
代码,这种代码最好是开2个eclipse看效果,顺序打开,看效果,再领悟:
package curator.selector;
import org.apache.curator.RetryPolicy;
import org.apache.curator.framework.CuratorF ...
Curator lock
- 博客分类:
- ZooKeeper
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
- 博客分类:
- ZooKeeper
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 ...
Python启动、停止脚本
- 博客分类:
- Python
#!/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\ ...
曾今做过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 ...