轻蜗牛直租平台-技术中间件选型介绍

2024-05-16 08:58

本文主要是介绍轻蜗牛直租平台-技术中间件选型介绍,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

背景:有做租房平台这个想法的时候还有点小激动,也筹划了很久。对于各种中间件的技术选型也有一些想法。也希望通过这个项目区提高自己的综合实战能力。同时现在也打算跟一些小伙伴一起开发这个项目。目前处于起步阶段。为了项目的顺利迭代现在把技术中间件和springclou的版本统一说明一下。

一、存储

  1. 存储这块目前应用到了MySQL5.7作为DBMS系统。
  2. 由于有房源信息的检索,需要搜索引擎的支持,因此搭建了es单机系统,版本是6.4.3。
  3. 另外缓存这块目前采用的是redis 哨兵模式做伪集群方式,版本是3.2.1。
  4. 房源同时也会有图片和短视频存储的需求,目前这块本地搭建还在技术选型中。

二、微服务框架

目前微服务框架有很多,也有很多脚手架之类的,但是我的目标是要整合各个中间件去实战,写业务,因此没有采用市面上任何一个脚手架。目前的微服务框架总体都以开源为主。

  1. 服务发现与服务配置(nacos).nacos目前社区比较活跃,有大厂支持,同时解决了分布式微服务的两个问题,自己可以做一些扩展,后续整合其他微服务框架也会比较方便。
  2. 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平台的搭建过程。
未来规划会加入限流组件和网关组件,集成过程也会在本系列博客中体现。

我最近整了一个公众号,持续输出原创内容,敬请关注:

在这里插入图片描述

这篇关于轻蜗牛直租平台-技术中间件选型介绍的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/994456

相关文章

SpringBoot3实现Gzip压缩优化的技术指南

《SpringBoot3实现Gzip压缩优化的技术指南》随着Web应用的用户量和数据量增加,网络带宽和页面加载速度逐渐成为瓶颈,为了减少数据传输量,提高用户体验,我们可以使用Gzip压缩HTTP响应,... 目录1、简述2、配置2.1 添加依赖2.2 配置 Gzip 压缩3、服务端应用4、前端应用4.1 N

Java利用JSONPath操作JSON数据的技术指南

《Java利用JSONPath操作JSON数据的技术指南》JSONPath是一种强大的工具,用于查询和操作JSON数据,类似于SQL的语法,它为处理复杂的JSON数据结构提供了简单且高效... 目录1、简述2、什么是 jsONPath?3、Java 示例3.1 基本查询3.2 过滤查询3.3 递归搜索3.4

Python中随机休眠技术原理与应用详解

《Python中随机休眠技术原理与应用详解》在编程中,让程序暂停执行特定时间是常见需求,当需要引入不确定性时,随机休眠就成为关键技巧,下面我们就来看看Python中随机休眠技术的具体实现与应用吧... 目录引言一、实现原理与基础方法1.1 核心函数解析1.2 基础实现模板1.3 整数版实现二、典型应用场景2

MySQL中慢SQL优化的不同方式介绍

《MySQL中慢SQL优化的不同方式介绍》慢SQL的优化,主要从两个方面考虑,SQL语句本身的优化,以及数据库设计的优化,下面小编就来给大家介绍一下有哪些方式可以优化慢SQL吧... 目录避免不必要的列分页优化索引优化JOIN 的优化排序优化UNION 优化慢 SQL 的优化,主要从两个方面考虑,SQL 语

C++中函数模板与类模板的简单使用及区别介绍

《C++中函数模板与类模板的简单使用及区别介绍》这篇文章介绍了C++中的模板机制,包括函数模板和类模板的概念、语法和实际应用,函数模板通过类型参数实现泛型操作,而类模板允许创建可处理多种数据类型的类,... 目录一、函数模板定义语法真实示例二、类模板三、关键区别四、注意事项 ‌在C++中,模板是实现泛型编程

Python实现html转png的完美方案介绍

《Python实现html转png的完美方案介绍》这篇文章主要为大家详细介绍了如何使用Python实现html转png功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 1.增强稳定性与错误处理建议使用三层异常捕获结构:try: with sync_playwright(

Java使用多线程处理未知任务数的方案介绍

《Java使用多线程处理未知任务数的方案介绍》这篇文章主要为大家详细介绍了Java如何使用多线程实现处理未知任务数,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 知道任务个数,你可以定义好线程数规则,生成线程数去跑代码说明:1.虚拟线程池:使用 Executors.newVir

JAVA SE包装类和泛型详细介绍及说明方法

《JAVASE包装类和泛型详细介绍及说明方法》:本文主要介绍JAVASE包装类和泛型的相关资料,包括基本数据类型与包装类的对应关系,以及装箱和拆箱的概念,并重点讲解了自动装箱和自动拆箱的机制,文... 目录1. 包装类1.1 基本数据类型和对应的包装类1.2 装箱和拆箱1.3 自动装箱和自动拆箱2. 泛型2

四种Flutter子页面向父组件传递数据的方法介绍

《四种Flutter子页面向父组件传递数据的方法介绍》在Flutter中,如果父组件需要调用子组件的方法,可以通过常用的四种方式实现,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录方法 1:使用 GlobalKey 和 State 调用子组件方法方法 2:通过回调函数(Callb

Python进阶之Excel基本操作介绍

《Python进阶之Excel基本操作介绍》在现实中,很多工作都需要与数据打交道,Excel作为常用的数据处理工具,一直备受人们的青睐,本文主要为大家介绍了一些Python中Excel的基本操作,希望... 目录概述写入使用 xlwt使用 XlsxWriter读取修改概述在现实中,很多工作都需要与数据打交