没有需求,谈什么技术呢?之前有做过微信模版消息推送,今天遇到一个需求,需求方要求内容可以根据传入的字段自由组合,但是并不是毫无规则的组合,而是根据调用方传入的Json数据填充一个业务方自定义的模版。那么其实这个需求并不难,因为借助模版引擎就可以实现。那么接下来我们就进一步探究一下。
没有需求,谈什么技术呢?之前有做过微信模版消息推送,今天遇到一个需求,需求方要求内容可以根据传入的字段自由组合,但是并不是毫无规则的组合,而是根据调用方传入的Json数据填充一个业务方自定义的模版。那么其实这个需求并不难,因为借助模版引擎就可以实现。那么接下来我们就进一步探究一下。
周末的时候在家里折腾了一下Prometheus,感觉它部署方便、功能强大。本来也是想用在实际的项目中,但是领导却觉得这个东西还是太复杂了,因为我们完全用不到那么高级,我我我我我我也不敢继续谏言,毕竟我只是一个刚来的临时工,所以就自己做一个简单的监控程序吧。
当我们开发了一个Web Api之类的服务上线后,总以为可以松一口,可以舒心的撸几把游戏,但是事与愿违,有时候服务突然就挖塌了,而且还不自知,还在开开心心的排位赛,此时上级领导、客户、客户的领导都来慰问、鼓励,给你加油、打气。当然这只是一种情况,但足以看出服务监控还是很重要的。
也有好几周没写东西了,主要是上上周被调去前公司产品组做前端了,然后这周刚换工作也比较忙,以至于无暇他顾,着实惭愧啊。这周新工作主要是C/S项目,C端使用C#+Devexpress,S端使用的Spring MVC+Spring Boot(Spring MVC是之前老项目,这次的新业务准备用Spring Boot,所以才有了这二者)。在项目搭建过程中想到几个比较实用的思路,所以,这里就来总结记录一下。
Spring Boot
遵循约定大于配置的思想为我们省去了繁杂的XML配置,其为我们提供了许多诸如:spring-boot-starter-web
、spring-boot-starter-data-jpa
、spring-boot-starter-data-redis
等常用的Starter
组件,使得我们整合各种常用组件时显得非常简便快捷,那么这个Starter
为我们做了什么工作?让我们省去了各种繁杂的整合过程。
一般一个项目就只会用到一个数据库,但是有时候遇到比较复杂的一点的项目就会涉及到多个数据库,比如在业务量较大的时候会涉及到分库分表,如果不增加数据库代理层的话,就只有在项目中来处理。还有像我们现在在一个项目中会涉及到GBase
、MySQL
、DB2
这三种数据库,这种情况就涉及到多种数据库连接。那么我们Spring Boot中如何实现多数据库连接呢?
在Java中,我比较ORM熟悉就只有Hibernate
和Mybatis
,其他的并未实践使用过,在这二者之间我更喜欢Mybatis
,因为它精简、灵活(毕竟我是上年纪的程序员,喜欢自己写SQL)。
目前适用于Spring Cloud服务注册中心的解决方案比较多,诸如:Consul
、Spring Cloud Eureka
、Zookeeper
、Etcd
等,配置中心有:Spring Cloud Config
、Apollo
、Disconf
等。总感觉这些搭建起来较为繁琐,所以考虑使用Nacos
来做配置和服务注册中心。
日志可以帮我们在开发过程中乃至于生产上快速有效的定位问题的好帮手,所以如何记录有效的日子变得更加重要,在Spring Boot中,已经为我们默认添加了logback
和log4j2
,默认情况下,Spring Boot采用的是logback
。关于日志组件的性能,我并没有亲自验证过,只是在logback log4j log4j2 性能实测中说log4j2
性能是最高的。
Update your browser to view this website correctly. Update my browser now