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

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

相关文章

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

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

Python进阶之Excel基本操作介绍

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

java脚本使用不同版本jdk的说明介绍

《java脚本使用不同版本jdk的说明介绍》本文介绍了在Java中执行JavaScript脚本的几种方式,包括使用ScriptEngine、Nashorn和GraalVM,ScriptEngine适用... 目录Java脚本使用不同版本jdk的说明1.使用ScriptEngine执行javascript2.

Python实现NLP的完整流程介绍

《Python实现NLP的完整流程介绍》这篇文章主要为大家详细介绍了Python实现NLP的完整流程,文中的示例代码讲解详细,具有一定的借鉴价值,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. 编程安装和导入必要的库2. 文本数据准备3. 文本预处理3.1 小写化3.2 分词(Tokenizatio

java如何分布式锁实现和选型

《java如何分布式锁实现和选型》文章介绍了分布式锁的重要性以及在分布式系统中常见的问题和需求,它详细阐述了如何使用分布式锁来确保数据的一致性和系统的高可用性,文章还提供了基于数据库、Redis和Zo... 目录引言:分布式锁的重要性与分布式系统中的常见问题和需求分布式锁的重要性分布式系统中常见的问题和需求

Python3中Sanic中间件的使用

《Python3中Sanic中间件的使用》Sanic框架中的中间件是一种强大的工具,本文就来介绍Python3中Sanic中间件的使用,具有一定的参考价值,感兴趣的可以了解一下... 目录Sanic 中间件的工作流程中间件的使用1. 全局中间件2. 路由中间件3. 异常处理中间件4. 异步中间件5. 优先级

流媒体平台/视频监控/安防视频汇聚EasyCVR播放暂停后视频画面黑屏是什么原因?

视频智能分析/视频监控/安防监控综合管理系统EasyCVR视频汇聚融合平台,是TSINGSEE青犀视频垂直深耕音视频流媒体技术、AI智能技术领域的杰出成果。该平台以其强大的视频处理、汇聚与融合能力,在构建全栈视频监控系统中展现出了独特的优势。视频监控管理系统EasyCVR平台内置了强大的视频解码、转码、压缩等技术,能够处理多种视频流格式,并以多种格式(RTMP、RTSP、HTTP-FLV、WebS

性能测试介绍

性能测试是一种测试方法,旨在评估系统、应用程序或组件在现实场景中的性能表现和可靠性。它通常用于衡量系统在不同负载条件下的响应时间、吞吐量、资源利用率、稳定性和可扩展性等关键指标。 为什么要进行性能测试 通过性能测试,可以确定系统是否能够满足预期的性能要求,找出性能瓶颈和潜在的问题,并进行优化和调整。 发现性能瓶颈:性能测试可以帮助发现系统的性能瓶颈,即系统在高负载或高并发情况下可能出现的问题

水位雨量在线监测系统概述及应用介绍

在当今社会,随着科技的飞速发展,各种智能监测系统已成为保障公共安全、促进资源管理和环境保护的重要工具。其中,水位雨量在线监测系统作为自然灾害预警、水资源管理及水利工程运行的关键技术,其重要性不言而喻。 一、水位雨量在线监测系统的基本原理 水位雨量在线监测系统主要由数据采集单元、数据传输网络、数据处理中心及用户终端四大部分构成,形成了一个完整的闭环系统。 数据采集单元:这是系统的“眼睛”,

Hadoop数据压缩使用介绍

一、压缩原则 (1)运算密集型的Job,少用压缩 (2)IO密集型的Job,多用压缩 二、压缩算法比较 三、压缩位置选择 四、压缩参数配置 1)为了支持多种压缩/解压缩算法,Hadoop引入了编码/解码器 2)要在Hadoop中启用压缩,可以配置如下参数