- 博客(28)
- 资源 (12)
- 收藏
- 关注
原创 代码结构-可维护性代码
另外一篇比较好的文章如何编写高质量和可维护的代码http://www.codeceo.com/how-to-coding-best.html好的代码结构.api层 -domain -view (亮点 组合层,不属于纯碎的领域,比如修给订单费用接口,需要直接调用支付模块,然后透传给订单模块). 透传的属性用jsonString替代,泛化biz层: 1.模块之间允许互相依赖.( 相当于...
2016-12-28 14:57:37 2009
原创 大数据背景下的后台查询系统设计
前提首先强调一点:不管大数据还是还是普通后台查看. 1.不支持排序 (离线平台做的)实现方式:1.通过apache phenix sql limit获取前几个id.2.通过搜索引擎获取前几个id3.合并id.
2016-12-26 20:14:25 1595
原创 filter设计模式-复杂的责任链-消除for循环小技巧.
消除for循环两种方法.1.责任链2.递归filter设计模式优雅之处: 1. 无for循环 2. 请求前后都可以进行过滤.1.普通的责任链:for循环2.无for循环的特别的这责任链: public Filter next;缺点: 静态,修改较麻烦.3. 小技巧, 把成员属性next ,收归到Chain中管理,通过计算得出, 并且放在形参
2016-12-23 17:45:04 2306 1
原创 系统架构基础+流程改进
勋章1-上线流程 勋章2-持续集成 勋章3-架构设计 勋章4-容量预估 勋章5-服务化实践 勋章6-监控建设 勋章7-降级实施 勋章8-容灾设计 1.上线流程: 预发. 自动化case. 按城市小流量. 基于监控系统自动化识别判断是否有问题. 持续exception
2016-12-22 21:12:25 974
原创 微服务化
微服务实战(一):微服务架构的优势与不足 微服务实战(二):使用API Gateway微服务实战(三):深入微服务架构的进程间通信微服务实战(四):服务发现的可行方案以及实践案例微服务实战(六):选择微服务部署策略 微服务实战:从架构到部署 微观SOA:服务设计原则及其实践方式(上篇)
2016-12-22 16:39:24 592
原创 审计流程总结,财务
访谈的数据项如下:编号数据项负责人科目备注12016年1-12月各月的代驾订单量、订单总额.. 支付完成时间为准主营业务收入 22016年1-12月各月的代驾乘客实际支付金额主营业务收入
2016-12-22 11:24:04 737
原创 spring mvc 再次入门遇到的困惑
官网连接不能直接找到 spring mvc的文档.只能谷歌搜索 spring framework的文档,找到mvc一节1.spring mvc 表单的实体包含时间Date,double等类型的处理requestAttribute 来自于容器内部跳转,reuqestParam来自于浏览器2. 后续处理 view model.@modelAttribute
2016-12-21 21:35:20 480
原创 spring boot 自动化配置原理和配置查看
spring boot实战(第十三篇)自动配置原理分析列表:# Auto Configure org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ org.springframework.boot.autoconfigure.aop.AopAutoConfiguration,\ org.s
2016-12-21 17:23:29 1029
原创 spring 的属性获取,取值.注解下的类和配置分离.
简单的用@value 复杂的用@ConfigurationProperties("foo")https://docs.spring.io/spring-boot/docs/current-SNAPSHOT/reference/htmlsingle/#boot-features-external-config-typesafe-configuration-propertiesht
2016-12-21 15:51:41 790
原创 zookeeper 操作 顺序性如何保证
zookeeper 顺序性如何保证?zk读写操作特点: 所有执行都是推送,异步但顺序.1. 对Leader而言 因为和集群其他节点都是单长连接通道交互的.中间通过队列缓存. 二者都是顺序性的.所以所有请求也是顺序性的. NOTE By Phil: 我之前一开始的设想是,所有的消息都必须要有其前置消息id,这样能保证数据的顺序性校验. Leader是单机能实现. m
2016-12-20 10:58:12 2802
原创 zookeeper两个经典问题-带着问题看源码
1. 机器1,机器2,机器3. 机器3是Leader. 机器3接受到a,b,c消息. 机器2接受到a的proposal和commit. 没有收到b的消息. 当收到c的proposal和commit时会怎么办? 数据是否错乱?2. zk数据同步是拉取还是推送?3.机器1,2,机器3机器3是Leader. 机器2断开了. 机器2重新选举,连接到Leader上
2016-12-19 21:51:42 942
原创 zk的心跳检测及误区.
心跳检测: ping属于主动心跳,其他操作也属于心跳.ping流程: 1. 新加入的follower在没有同步之前,Leader就可以发送ping信息. 属于数据交互 2. 异步发送 3. 异步获取ping数据.通过LearnHandler.synced()判断,最终通过 tickOfNextAckDeadline = leader.self.tic
2016-12-19 18:51:12 6316 1
原创 zookeeper 分布式带来的不同开发设计点
zk之间的节点有各种状态,各种状态后才能进行相应的数据操作.而且节点之间的交互都是自动流转的. 不能像司机,乘客一样通过人的智能, 发现页面变更后, 去操作流转.但是又不能阻塞别人的操作, 所以技术实现上利用了 1. 数据队列 2. 状态协议直接通过io阻塞 (也可以通过 队列实现)ping通过队列,所以新加入的follower在没有同步之前,不会收到ping的
2016-12-19 18:35:47 323
原创 LearnerSyncRequest
1. OpCode.sync 这个含义是 持久化到磁盘. 会调用这个LearnerSyncRequest ,最终会调用flower的先执行 syncProcessor.processRequest(request);{flush有两个条件,超过个数,或者没有后来者. },再执行SendAckRequestProcessorLearnerSyncRequest的new 当且仅当客户端执行sy
2016-12-16 02:33:23 426
原创 统计系统中如何避免口径遗漏纰漏
目前财务系统和大数据都提供数据统计服务. 时常有数据统计错误的问题. 往往都是口径丢失.1. 前台业务新增业务类型没有通知统计方2. 通知了,统计方没有及时修改或者忘记修改对应统计代码或sql.为了解决这个问题,我这边思考了一个通用的解决方案,大家讨论一下. 1. 数据类型字典表:业务id主类型子类型
2016-12-15 13:32:09 1273
原创 zookeeper中的自动交互引发的思考
在zk数据同步过程中.leader和follower之间需要互相交互并确认对方. 选举之后的数据同步. 这个类似打车软件中乘客和司机交互. 只不过一个人发起,一个是自动化的.测试如果期望自动化测试打车软件,也需要通过技术来实现.zk的方案,利用socket input的本身阻塞机制.阻塞获取流数据.等待对方的操作和返回.打车软件由于中间通过
2016-12-13 23:42:07 437
原创 git 添加源地址和查看源地址
原理解析git remote set-url --add origin 就是往当前git项目的config文件里增加一行记录config文件打开方式有两种: 使用命令git config -e 在当前git项目的根目录下,文件位于 .git/config (.git目录为隐藏文件)你每执行一次git remote set-url --add origin 就会增加一行,如下图:
2016-12-09 15:51:36 39473 1
原创 懒惰式数据一致性校验
举个例子: 当两个系统的状态数据不一致. 前端入口页面处于某个状态,导致无法流转.流转之前需要校验自己的状态.还要校验前置订单状态.自己的状态通过就调用下游前置状态校验.. (可以不调用,但调用的好处是中国)
2016-12-08 16:03:17 721
原创 原子文件操作 ,不错的思路.AtomicFileOutputStream
每次变更. 先新增一个temp文件. close时,再将文件替换. 确保只有一个线程在更改.public AtomicFileOutputStream(File f) throws FileNotFoundException { // Code unfortunately must be duplicated below since we can't assign //
2016-12-07 23:11:31 1402
原创 zookeeper 读写过程
1.找到入口类. 通过DataTree.createNode 找到对应的入口类.找到很多 processor进一步找到ZooKeeperServer.submitRequest.再进一步call hierechary的 Processor的责任链: CommitProcessor. 实现的实现注入的地方在flower,leader,observerServer的setupReque
2016-12-07 21:56:07 4021
原创 选举完毕之后的数据同步.
Observer:1. 关键是最终leader会发布一个 Leader.UPTODATE break outerLoop;2. 处理相关Leader.proposal和Leader.commit.两种的TXN. /** * This message type is sent by a leader to propose a mutation. */public final static
2016-12-07 21:05:16 543
原创 zookeeper 选举后,各机器之间交互边界类:
主文章: http://blog.csdn.net/fei33423/article/details/53013333 1. 选举后,各机器之间交互: 1. learner: 连接到leader learner.connectToLeader. leaderIs = BinaryInputAr
2016-12-07 19:42:45 476
原创 zookeeper边界通信入口属性,类,目录-选举时
1.流程: 选举流程: 了解算法.2.边界: 外部通信边界(含客户端和服务端): 1. 1.1 QuorumCnxManager.toSend(Long, ByteBuffer) (org.apache.zookeeper.server.quorum)里生成一个客户端连接. sock.connect(self.getVi
2016-12-07 19:26:23 556
原创 大项目设计和管理复盘 - 含需求评审如何评审.
容易陷入的坑:1. 早会只抛问题,抛风险,感觉抛出来老板知道后就可以了. 抛出后, 具体对风险的action是什么, owner不管了, 需要老板定下来, 要么改时间,要么加人.2. 只关注action,没有数据支持,可衡量具体化.3. action执行者不把自己当owner, 依赖方需要管理,时间点,和过程风险暴露和解决. (自己经常遇到的坑)4. 不要对别人有要求...
2016-12-06 21:10:50 4396
原创 jpython抛错Cannot import site module
Exception in thread "main" ImportError: Cannot import site module and its dependencies: No module named sitehttp://www.cnblogs.com/liinux/p/5481849.htmlpublic class JpythonScript { pub
2016-12-06 19:16:49 4923
原创 java jdwp debug 模式 命令行 .对启动流程进行debug
关于jdwp的参数列表详见官方文档:http://download-llnw.oracle.com/javase/1.5.0/docs/guide/jpda/conninv.html#Invocation从官方文档中摘录几个配置事例:-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8787在8000端口监
2016-12-06 01:32:54 1861
原创 jvm 中生代cmcc的gc和fullgc
http://www.aichengxu.com/view/18368(concurrentmode failure): 2268975K->2111899K(2516992K), 8.3732150 secs]2766660K->2111899K(3088576K), [CMS Perm : 562899K->562896K(1048576K)],9.0223120 secs] [Tim
2016-12-01 15:50:09 706
基于实例研究混合电动汽车(HEV)能量流程控制策略 效率
2014-01-21
C# sharp 入门经典全英文版第五版 2010 Beginning Visual C#
2013-01-24
算法国家队论文集acm noi
2013-01-23
ahk AutoHotkey官方中文帮pdf 有目录 help 教程 查询手册
2013-01-09
文件编码,了解windows乱码复制粘贴机制meizhitu-clipboardviewer-3766643
2012-10-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人