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

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

相关文章

MybatisPlus service接口功能介绍

《MybatisPlusservice接口功能介绍》:本文主要介绍MybatisPlusservice接口功能介绍,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友... 目录Service接口基本用法进阶用法总结:Lambda方法Service接口基本用法MyBATisP

MySQL复杂SQL之多表联查/子查询详细介绍(最新整理)

《MySQL复杂SQL之多表联查/子查询详细介绍(最新整理)》掌握多表联查(INNERJOIN,LEFTJOIN,RIGHTJOIN,FULLJOIN)和子查询(标量、列、行、表子查询、相关/非相关、... 目录第一部分:多表联查 (JOIN Operations)1. 连接的类型 (JOIN Types)

Java中的登录技术保姆级详细教程

《Java中的登录技术保姆级详细教程》:本文主要介绍Java中登录技术保姆级详细教程的相关资料,在Java中我们可以使用各种技术和框架来实现这些功能,文中通过代码介绍的非常详细,需要的朋友可以参考... 目录1.登录思路2.登录标记1.会话技术2.会话跟踪1.Cookie技术2.Session技术3.令牌技

java中BigDecimal里面的subtract函数介绍及实现方法

《java中BigDecimal里面的subtract函数介绍及实现方法》在Java中实现减法操作需要根据数据类型选择不同方法,主要分为数值型减法和字符串减法两种场景,本文给大家介绍java中BigD... 目录Java中BigDecimal里面的subtract函数的意思?一、数值型减法(高精度计算)1.

Pytorch介绍与安装过程

《Pytorch介绍与安装过程》PyTorch因其直观的设计、卓越的灵活性以及强大的动态计算图功能,迅速在学术界和工业界获得了广泛认可,成为当前深度学习研究和开发的主流工具之一,本文给大家介绍Pyto... 目录1、Pytorch介绍1.1、核心理念1.2、核心组件与功能1.3、适用场景与优势总结1.4、优

Java实现本地缓存的常用方案介绍

《Java实现本地缓存的常用方案介绍》本地缓存的代表技术主要有HashMap,GuavaCache,Caffeine和Encahche,这篇文章主要来和大家聊聊java利用这些技术分别实现本地缓存的方... 目录本地缓存实现方式HashMapConcurrentHashMapGuava CacheCaffe

python web 开发之Flask中间件与请求处理钩子的最佳实践

《pythonweb开发之Flask中间件与请求处理钩子的最佳实践》Flask作为轻量级Web框架,提供了灵活的请求处理机制,中间件和请求钩子允许开发者在请求处理的不同阶段插入自定义逻辑,实现诸如... 目录Flask中间件与请求处理钩子完全指南1. 引言2. 请求处理生命周期概述3. 请求钩子详解3.1

Spring Security介绍及配置实现代码

《SpringSecurity介绍及配置实现代码》SpringSecurity是一个功能强大的Java安全框架,它提供了全面的安全认证(Authentication)和授权(Authorizatio... 目录简介Spring Security配置配置实现代码简介Spring Security是一个功能强

JSR-107缓存规范介绍

《JSR-107缓存规范介绍》JSR是JavaSpecificationRequests的缩写,意思是Java规范提案,下面给大家介绍JSR-107缓存规范的相关知识,感兴趣的朋友一起看看吧... 目录1.什么是jsR-1072.应用调用缓存图示3.JSR-107规范使用4.Spring 缓存机制缓存是每一

Web技术与Nginx网站环境部署教程

《Web技术与Nginx网站环境部署教程》:本文主要介绍Web技术与Nginx网站环境部署教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、Web基础1.域名系统DNS2.Hosts文件3.DNS4.域名注册二.网页与html1.网页概述2.HTML概述3.