业务网关-分流插件
摘要:这里所指的分流插件非常类似于nginx的流量转发功能,或者叫反向代理。 背景 尽管nginx的流量转发功能也很强大,但业务上的一些变化有可能出现会让nginx的配置繁多,疲于应付,比如:某款APP随业务发展演化出众多业务线:酒店业务线,机票业务线,餐饮业务线,本地出行业务线。这些业务线的背后往往是不
阅读全文
posted @
2020-08-16 22:38
min.jiang
阅读(841)
推荐(0) 编辑
简易RPC框架-SPI
摘要:案例 我们所熟悉的jbdc是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,提供了一种基准,据此可以构建更高级的工具和接口。 如上图所示,任意的一个数据库厂商只要去实现jdbc的接口,就可以轻松的对接jbdc从而为应用开发人员所服务。 SPI 上面的jdbc的设计理念叫S
阅读全文
posted @
2018-05-20 02:45
min.jiang
阅读(2198)
推荐(1) 编辑
Spring Cache扩展:注解失效时间+主动刷新缓存(二)
摘要:目的 之前在github上找了一个开源的项目,改了改缓存的扩展,让其支持在缓存注解上控制缓存失效时间以及多长时间主动在后台刷新缓存以防止缓存失效( Spring Cache扩展:注解失效时间+主动刷新缓存 )。示意图如下: 那篇文章存在两个问题: 所有的配置是建立在修改缓存容器的名称基础上,与传统缓
阅读全文
posted @
2018-04-07 13:46
min.jiang
阅读(26657)
推荐(1) 编辑
从头开始搭建一个Spring boot+ActiveMQ高可用分布式环境
摘要:背景 目前公司项目中有用到activemq,两台机器上分别通过共享文件方式搭建了master-slave集群,但两台机器之间并未组建broker cluster,而是在客户端通过软负载的方式随机选择一组提供服务来达到集群扩展的目的。 上面的方案主要问题在于需要通过软负载去实现分布式的负载均衡算法,需
阅读全文
posted @
2018-01-01 11:58
min.jiang
阅读(10692)
推荐(0) 编辑
自动化测试:behave
摘要:在系统开发过程中,我们一般个人参与的开发都是局部的,自己负责的一部分与其它团队成员的成果组合在一起才能实现用户的完整行为。比如常见的电商系统就有几个主要的流程 商品搜索 购物车 订单 支付 物流 这些模块复杂的足以形成各自的团队,不同团队相互之间依据一定的接口来配合协作。在开发阶段可以基于接口各自独
阅读全文
posted @
2017-09-10 10:55
min.jiang
阅读(5849)
推荐(0) 编辑
从头开始搭建一个dubbo+zookeeper平台
摘要:本篇主要是来分享从头开始搭建一个dubbo+zookeeper平台的过程,其中会简要介绍下dubbo服务的作用。
阅读全文
posted @
2016-06-28 00:57
min.jiang
阅读(130076)
推荐(14) 编辑
从头开始搭建分布式日志平台的docker环境
摘要:
从头开始搭建基于spring mvc+redis+logback+logstash+elasticsearch+kibana的分布式日志平台的docker环境,重点是分享其中遇到过的一些问题。
阅读全文
posted @
2016-06-21 18:04
min.jiang
阅读(4873)
推荐(5) 编辑
spring mvc+ELK从头开始搭建日志平台
摘要:经过接近两天的研究,终于从0开始搭建成功了spring mvc+ELK的分布式日志管理平台,java平台的优势就是开源的产品多,可利用优秀插件也多,擅于去发倔还是可以很省事的做些比较优秀的项目的。虽然本篇只是一个练手入门文章,但有了开始就会有收获。
阅读全文
posted @
2016-06-17 17:08
min.jiang
阅读(11319)
推荐(3) 编辑
两个与spring事务相关的问题
摘要:通过事务的两个小问题,总结出解决问题的一些小技巧或者叫经验:发现问题之后,不要局限于某个点,最好根据上下文来结合分析,比如问题一的readonly可写入,单看那段代码很难找出合理的解释,只有结合前后端调用才能找出根本原因。写单元测试尽量写相同的代码,否则有可能会出现一些干扰项影响判断。学习呢,有时间尽量学的全点,比如@Transactional这个注解,除了readOnly还有Propagation等等。
阅读全文
posted @
2016-06-08 15:42
min.jiang
阅读(2451)
推荐(0) 编辑
shiro realm 注解失败问题解决过程
摘要:做为一名在.net混了八九年的老兵油子,转战java时间并不长,刚开始做项目完全是凭借对C#的认识来做,虽然遇到一些问题,但实际结果显示C#在语言上和java还是有很大相似度,而且微软的MVC与Spring MVC也是那么的神似,这也是为什么我在做项目前并未对java进行系统的学习也能做项目的原因。最近稍微有些空闲时间,所以决定从基础开始系统的学习java,这里并没有太多高深技术可分享的,本篇给大家分享我解决问题的一个经验:触类旁通或者叫举一反三,对了还有一点,对于存在可优化点的部分要不轻言放弃。
阅读全文
posted @
2016-05-19 01:55
min.jiang
阅读(4166)
推荐(0) 编辑
如何解决CRUD操作中与业务无关的字段赋值
摘要:通过自定义实现HandlerMethodArgumentResolver,来捕获ajax请求的参数,利用反射机制动态的将系统字段以及需要处理默认值的字段自动赋值,避免人工干预,起到了代码精简,逻辑干净,问题统一处理的目的。需要注意的是这些实现都是结合当前系统设计的,比如我们认为id字段>0就代表是更新操作,为空或者等于小于0就代表是创建,系统字段也是约定名称的等等。
阅读全文
posted @
2016-04-14 22:50
min.jiang
阅读(5497)
推荐(8) 编辑
通过angularjs的directive以及service来实现的列表页加载排序分页
摘要:angularjs的directive以及service用好了真的很强大,这里通过一个service两个directive简单的实现了我对于列表页展示的需求,相比第三方js组件最大的优点是支持angular model的更新且不需要写配置相关的js,样式控制容易。
阅读全文
posted @
2016-03-23 17:42
min.jiang
阅读(4835)
推荐(1) 编辑
项目中应用eventbus解决的问题
摘要:通过实际项目中对eventbus的应用来分析它能解决的问题以及当初应用有待提高的地方。很显示eventbus应用得当可以简化程序复杂性,提高代码可读性,降低开发维护成本。
阅读全文
posted @
2016-01-29 17:54
min.jiang
阅读(7746)
推荐(0) 编辑
统一配置中心
摘要:zookeeper结合PropertyPlaceholderConfigurer实现的统一配置组件,巧妙的应用了PropertyPlaceholderConfigurer搜索多种数据源的优势,且对原有代码没有任务的侵入性。
阅读全文
posted @
2016-01-28 18:12
min.jiang
阅读(25480)
推荐(3) 编辑
java枚举与.net中的枚举区别
摘要:通过对比.net枚举来重新理解java的枚举,它是一个比较特殊的数据类型,除了具备值存储的能力还拥有class特性,作用范围相比.net要大,但实现更加复杂些。
阅读全文
posted @
2016-01-27 17:07
min.jiang
阅读(2282)
推荐(4) 编辑
列表页的动态条件搜索
摘要:input type="text" name="WHERE.storeName.LIKE"方式来完成动态条件查询,足以应付普通的后台管理功能需求,灵活高效简单。
阅读全文
posted @
2016-01-18 19:09
min.jiang
阅读(2742)
推荐(1) 编辑
我是如何做列表页的
摘要:分享一个angularjs,bootstrap,spring mvc ,tk.mybatis列表页查询思路,其中通用的字段查询以及angularjs的应用对于前端代码的简化还是比较可观的,但也不一些不完善的,待后续......
阅读全文
posted @
2016-01-13 00:30
min.jiang
阅读(4428)
推荐(1) 编辑
我的2015下半年总结
摘要:下半年是忙碌的,虽然有压力但很充实;有自己才疏学浅的窘境,也有解决问题之后的惊喜;有人说要想成长就需要跟比自己强的人工作,那么显然我下半年的选择是对的。2016年我要为了成为别人心目中的强人而努力。
阅读全文
posted @
2016-01-02 03:35
min.jiang
阅读(3186)
推荐(14) 编辑
系统优化总结
摘要:为了用户能够愉快的使用系统,为此我们持续不断的进行重构优化。优化都是相对的,我们不一定要找到最完美的方案,但保证用户体验是最基本的要求。数据范围的控制,鸡肋功能的识别,亡羊补牢的策略等,进行一系列有针对性的操作总会有成果的。
阅读全文
posted @
2015-07-20 01:50
min.jiang
阅读(4293)
推荐(5) 编辑