logo头像

不忘初心 方得始终

RocketMQ(一)—角色与术语

RocketMQ(一)—角色与术语

引言我们通过缓存和消息队列来化解海量的读请求和写请求对后端数据库服务造成的压力。RocketMQ作为阿里巴巴开源的消息队列中间件,得到不少企业的青睐。在RocketMQ中有四大角色 NameServer、Broker、Producer...

Java和Docker限制的那些事儿

Java和Docker限制的那些事儿

引言Java和Docker不是天然的朋友。 Docker可以设置内存和CPU限制,而Java不能自动检测到。使用Java的Xmx标识(繁琐/重复)或新的实验性JVM标识,可以解决这个问题。自己也是在开发配置上踩了个坑。 采坑记录在开发...

动态修改日志级别

动态修改日志级别

引言日志是我们定位问题的关键,尤其是在线上。但是有时我们输出的日志信息不够充足,给排查问题带来了极大的困扰。如果能够不重启应用,就能动态调整日志级别的话,无疑给我们排查问题带来了极大的帮助。…

详解MongoDB执行计划

详解MongoDB执行计划

引言在RDBMS(Relational Database Management System)中,无论哪种数据库,都提供了SQL剖析工具,用来解决SQL效率低下的问题。在MongoDB中,也有相应的策略来实现剖析。MongoDB提供了db.collection.explain()、cursor.explain()方法和explain命令返回查询计划信息和查询计划的执行统计信息。…

SpringMVC集成Swagger

SpringMVC集成Swagger

当前方便管理项目中的API接口,最流行的莫过于Swagger了,功能强大,UI界面漂亮,并且支持在线测试等等。所以仔细研究了下Swagger的使用。在这里记录下SpringMVC集成Swagger。…

自定义rest代理(二)

自定义rest代理(二)

之前用HttpClient实现了rest代理(自定义rest代理(一)),从网上看了下资料,同时针对公司已有的框架做了一些封装和改造。用Retrofit2另外实现了一套rest代理工具包。其中基本都是都是基于Retrofit2,自己又...

MongoDB辅助之mongo-spring-support

MongoDB辅助之mongo-spring-support

引言在开发中经常使用到MongoDB,每个项目使用各不相同,既繁琐又好不管理。这里封装了一套MongoDB类似于Mybatis的ORM增强版工具,和Spring无缝结合,只需要简单的配置就可以实现强大的功能。同时扩展了MongoDB的Datastore功能,加了一些自定义方法。其原理离不开之前所说的FactoryBean。…

自定义rest代理(一)

自定义rest代理(一)

引言在项目中可能我们会调用其他的rest接口,我们会写一个HttpClientSender工具类,返回后然后一大堆的条件判断,既繁琐又不直观。我们可以运用所学的FactoryBean手写一个rest代理,使用时可以像Mybatis那样...