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

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

相关文章

Java中HashMap的用法详细介绍

《Java中HashMap的用法详细介绍》JavaHashMap是一种高效的数据结构,用于存储键值对,它是基于哈希表实现的,提供快速的插入、删除和查找操作,:本文主要介绍Java中HashMap... 目录一.HashMap1.基本概念2.底层数据结构:3.HashCode和equals方法为什么重写Has

Springboot项目构建时各种依赖详细介绍与依赖关系说明详解

《Springboot项目构建时各种依赖详细介绍与依赖关系说明详解》SpringBoot通过spring-boot-dependencies统一依赖版本管理,spring-boot-starter-w... 目录一、spring-boot-dependencies1.简介2. 内容概览3.核心内容结构4.

Python中高级文本模式匹配与查找技术指南

《Python中高级文本模式匹配与查找技术指南》文本处理是编程世界的永恒主题,而模式匹配则是文本处理的基石,本文将深度剖析PythonCookbook中的核心匹配技术,并结合实际工程案例展示其应用,希... 目录引言一、基础工具:字符串方法与序列匹配二、正则表达式:模式匹配的瑞士军刀2.1 re模块核心AP

MySQL中读写分离方案对比分析与选型建议

《MySQL中读写分离方案对比分析与选型建议》MySQL读写分离是提升数据库可用性和性能的常见手段,本文将围绕现实生产环境中常见的几种读写分离模式进行系统对比,希望对大家有所帮助... 目录一、问题背景介绍二、多种解决方案对比2.1 原生mysql主从复制2.2 Proxy层中间件:ProxySQL2.3

setsid 命令工作原理和使用案例介绍

《setsid命令工作原理和使用案例介绍》setsid命令在Linux中创建独立会话,使进程脱离终端运行,适用于守护进程和后台任务,通过重定向输出和确保权限,可有效管理长时间运行的进程,本文给大家介... 目录setsid 命令介绍和使用案例基本介绍基本语法主要特点命令参数使用案例1. 在后台运行命令2.

MySQL常用字符串函数示例和场景介绍

《MySQL常用字符串函数示例和场景介绍》MySQL提供了丰富的字符串函数帮助我们高效地对字符串进行处理、转换和分析,本文我将全面且深入地介绍MySQL常用的字符串函数,并结合具体示例和场景,帮你熟练... 目录一、字符串函数概述1.1 字符串函数的作用1.2 字符串函数分类二、字符串长度与统计函数2.1

全面解析Golang 中的 Gorilla CORS 中间件正确用法

《全面解析Golang中的GorillaCORS中间件正确用法》Golang中使用gorilla/mux路由器配合rs/cors中间件库可以优雅地解决这个问题,然而,很多人刚开始使用时会遇到配... 目录如何让 golang 中的 Gorilla CORS 中间件正确工作一、基础依赖二、错误用法(很多人一开

springboot自定义注解RateLimiter限流注解技术文档详解

《springboot自定义注解RateLimiter限流注解技术文档详解》文章介绍了限流技术的概念、作用及实现方式,通过SpringAOP拦截方法、缓存存储计数器,结合注解、枚举、异常类等核心组件,... 目录什么是限流系统架构核心组件详解1. 限流注解 (@RateLimiter)2. 限流类型枚举 (

Python实现PDF按页分割的技术指南

《Python实现PDF按页分割的技术指南》PDF文件处理是日常工作中的常见需求,特别是当我们需要将大型PDF文档拆分为多个部分时,下面我们就来看看如何使用Python创建一个灵活的PDF分割工具吧... 目录需求分析技术方案工具选择安装依赖完整代码实现使用说明基本用法示例命令输出示例技术亮点实际应用场景扩

Linux之platform平台设备驱动详解

《Linux之platform平台设备驱动详解》Linux设备驱动模型中,Platform总线作为虚拟总线统一管理无物理总线依赖的嵌入式设备,通过platform_driver和platform_de... 目录platform驱动注册platform设备注册设备树Platform驱动和设备的关系总结在 l