技术选型
选型背后体现的不只是选型,个人的经历、教育经历、性格
2013废弃
mighty单表映射
为什么要技术选型
要坚固降低研发成本和提高研发效率
数据访问层
关于数据库链接如何管理的问题
MQ
优势和劣势
优势:
应用解耦:一个业务需要多个模块共同实现,或者一条消息有多个系统需要对应处理,只需要主业务完成以后,发送一条MQ,其余模块消费MQ消息,即可实现业务,降低模块之间的耦合。
应用间解耦,提高容错性和可维护性
eg:
订单系统中需要库存支付物流共同实现,所以一条消息有多个系统需要对应处理,加入MQ之后,订单系统发送一条MQ,其余的系统消费MQ消息,如果再加入一个系统,不需要修改订单系统的代码,只需要MQ多发送一条消息就行。
异步提速:主业务执行结束后从属业务通过MQ,异步执行,减低业务的响应时间,提高用户体验。
订单系统分别向每一个消费者系统发送消息,每一个需要300ms,这样会消耗大量的时间,如果使用MQ
订单系统和MQ是一个短链接,这样的速度会非常的快,用户得到反馈的时间是25ms ,各个系统的300ms不影响用户得到反馈的时间
削峰填谷:高并发情况下,业务异步处理,提供高峰期业务处理能力,避免系统瘫痪。
劣势:
1、系统可用性降低。依赖服务也多,服务越容易挂掉。需要考虑MQ瘫痪的情况
2、系统复杂性提高。需要考虑消息丢失、消息重复消费、消息传递的顺序性
3、业务一致性。主业务和从属业务一致性的处理
使用的前提
使用的场景
1.5常见的MQ的产品
rabbitMQ延迟最低,文档完备,单机吞吐量可以依靠集群实现
rocketMQ 对中国人最友好的 阿里开发的