
架构相关
文章平均质量分 64
spjich
这个作者很懒,什么都没留下…
展开
-
分布式配置文件管理工具disconf部署以及运用
disconf之前有搭建过一次但是没有成功,比较纠结它的基于nginx实现动静分离的思想,其实明明可以少一个组件的依赖和配置,或许开发者有其自己的考虑吧。这次终于搭建完毕并且跑通,下面写几个碰到但是官方文档中没给出的坎。 搭建项目 --就是一个disconf-web安装依赖软件安装Mysql(Ver 14.12 Distrib 5.0.45, for...2016-04-27 17:59:12 · 321 阅读 · 0 评论 -
自己动手实现sso
原公司业务中有sso系统,我当时完成的角色是接入,现在自己动手写了一个sso项目地址https://git.oschina.net/spjich/sso-simple.git 模拟sso跨域,同域登录同域域名oa.ji.comsso.ji.com跨域域名oa.comsso.com加密算法cookie内容加密-ASE服务器间信息验证-RSA证书同域流...原创 2016-05-09 17:42:34 · 205 阅读 · 0 评论 -
keepalive做HA热备
最近在做服务器的高可用性,考虑主从热备初步准备采用keepalive这个工具来完成这个需求,下面主要做了一个keepalive入门实验 测试环境两台centos172.171.48.151 主172.171.48.158 备 keepalive两台机器都要安装 安装前准备工作keepalive依赖下面几个包 rpm -qa |grep gcc ...2015-09-07 17:20:18 · 637 阅读 · 0 评论 -
使用unsion完成机器文件夹容灾备份
安装ocamlwget http://caml.inria.fr/pub/distrib/ocaml-4.03/ocaml-4.03.0.tartar -zvxf ocaml-4.03.0.tar.gz cd ocaml-4.03.0./configuremake world optmake install 安装unisontar -zxvf...2016-07-29 17:53:12 · 191 阅读 · 0 评论 -
spring-data-redis消息订阅RedisMessageListenerContainer源码解读
项目中一直在使用redis的subscribe功能,偶然会发生订阅断开的问题,一直无法定位,在此之下只能阅读源码定位问题首先从spring.xml入手观察配置 <bean id="twaListener" class="org.springframework.data.redis.listener.adapter.MessageListenerAdapter">...原创 2016-11-07 15:40:43 · 15002 阅读 · 1 评论 -
实时公交位置系统的实现
假如你的城市,每台公交车上都装了一个gps,更幸运的是你还可以获得这些gps上报的位置信息,那如何做一款公交位置查询app,或者公交位置监控软件呢?宏观上: 实时性(每辆车每10秒上报一次位置信息,全市上万量公交,个接口的吞吐量以及实时性是一个考验) 准确性(如何准确判断每辆车的位置,以及行驶方向)微观上: 火星坐标系的转换(gps上报的是原生坐...2015-12-14 17:30:27 · 2403 阅读 · 0 评论 -
公交位置模拟工具
承接上一篇 http://spjich.iteye.com/blog/2264025 公交位置判断完成以后,模拟测试会比较麻烦,要模拟公交的动态移动,所以我做了一个模拟工具,模拟公交运动以下是git地址https://git.oschina.net/spjich/busMonitor.git运行环境java1.7/java1.6tomcat7redis可选...原创 2015-12-22 15:37:31 · 317 阅读 · 0 评论 -
Curator使用琐事杂记
Watcher部分 这种方式只能监听一次,监听完了需要重新注册watcher client.getChildren().usingWatcher(new AA2.Watcher()).forPath("/b"); PathChildrenCache 只能监听本层以及第一层子层(监听/b 只能监听到/b/c,不能监听到/b/c/d),且每次生成时,假如节点存在,会被重复...2018-03-02 14:57:43 · 264 阅读 · 0 评论 -
更优雅的延迟执行实现---环形队列
在做业务时经常遇到某些一次性的延迟需求,比如新闻的定时发布,过了一个时间阈值后某个任务的状态置为超时或触发某个接口。之前实现这种一次性的延迟需求基本会有3种思路。(1)线程轮询扫库(2)Timer类(3)定时框架Quartz这三种方案都存在各自的问题对于“线程轮询扫库”,性能开销巨大,实时性差对于“Timer类”来说,假如项目重启,之前设置的定时就荡然无存对于“...2017-03-20 14:09:50 · 1046 阅读 · 0 评论