本文主要是介绍轻蜗牛直租平台-技术中间件选型介绍,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
背景:有做租房平台这个想法的时候还有点小激动,也筹划了很久。对于各种中间件的技术选型也有一些想法。也希望通过这个项目区提高自己的综合实战能力。同时现在也打算跟一些小伙伴一起开发这个项目。目前处于起步阶段。为了项目的顺利迭代现在把技术中间件和springclou的版本统一说明一下。
一、存储
- 存储这块目前应用到了MySQL5.7作为DBMS系统。
- 由于有房源信息的检索,需要搜索引擎的支持,因此搭建了es单机系统,版本是6.4.3。
- 另外缓存这块目前采用的是redis 哨兵模式做伪集群方式,版本是3.2.1。
- 房源同时也会有图片和短视频存储的需求,目前这块本地搭建还在技术选型中。
二、微服务框架
目前微服务框架有很多,也有很多脚手架之类的,但是我的目标是要整合各个中间件去实战,写业务,因此没有采用市面上任何一个脚手架。目前的微服务框架总体都以开源为主。
- 服务发现与服务配置(nacos).nacos目前社区比较活跃,有大厂支持,同时解决了分布式微服务的两个问题,自己可以做一些扩展,后续整合其他微服务框架也会比较方便。
- spring框架也是采用的比较新的版本 pom.xml包如下:
<dependencyManagement><dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-dependencies</artifactId><version>Greenwich.SR3</version><type>pom</type><scope>import</scope></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-dependencies</artifactId><version>2.1.8.RELEASE</version><type>pom</type><scope>import</scope></dependency><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-alibaba-dependencies</artifactId><version>2.1.0.RELEASE</version><type>pom</type><scope>import</scope></dependency></dependencies></dependencyManagement>
三、分库分表
分库分表这块目前也是调研了一些开源的,还有阿里的TDDL等,比较好上手尽快开发业务的目前就mycat和shardingjdbc了,shardingjdbc目前的社区活跃度和使用用户也还是比较多的。因此在大规模数据量下先选取这个中间件是比较合适的,同时也为了提高分库分表的使用能力,增加使用经验。
目前这块的版本是
<dependency><groupId>org.apache.shardingsphere</groupId><artifactId>sharding-jdbc-spring-boot-starter</artifactId><version>4.0.0-RC1</version></dependency>
四、MQ
MQ之前一直使用的是自研的,开源的了解相对较少,目前基于业务流程的mq,kafka,rabbitmq,rocketmq都可以。综合比较了下rocketmq相对合适点。后续也不排除会使用kafka做一些事件,数据消息等的使用。
目前rocketmq的版本是:
<dependency><groupId>org.apache.rocketmq</groupId><artifactId>rocketmq-spring-boot-starter</artifactId><version>2.1.0</version></dependency>
rocketmq-all-4.7.1
五、服务器
目前使用的是win10版本本地跑微服务和中间件进程,如果真要采购linux机器也是不小的开销。另外有些中间件只会做单机,合理利用资源。
以上就是目前本地已经跑起来 的中间件了,后续基于以上技术组件做租房业务的逻辑,采用的是分布式微服务的架构设计,使用DDD的思想对不同业务域进行划分。为了让感兴趣的同学可以参与进来后续会逐步发布上述中间件在windows平台的搭建过程。
未来规划会加入限流组件和网关组件,集成过程也会在本系列博客中体现。
我最近整了一个公众号,持续输出原创内容,敬请关注:
这篇关于轻蜗牛直租平台-技术中间件选型介绍的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!