
轻蜗牛租房技术&业务架构系列
文章平均质量分 74
轻蜗牛租房技术&业务架构系列,包含技术架构&业务架构&领域问题划分
程序男
java 服务端开发者。
展开
-
XxlJob深度性能优化实践
XxlJob性能优化,二次开发原创 2024-02-06 14:11:09 · 2136 阅读 · 1 评论 -
天画-codeMaker组件化架构升级实践
在两个月前我扩展了基于调用时序的代码生成,将代码生成的粒度从代码方法级别提升到了代码行级别,从整个迭代过程来看也逐步积累了一些问题,在一些模块设计上实现的不够好,同时没有扩展到springcloud体系,另外也在这一段时间重点看了很多低代码的实现,比如易鲸云,简道云,金蝶云等等,我发现如果需要把codeMaker提升到企业级的层次就不能一点点优化,而是要做一个大的架构升级,提高兼容性,扩展性,并在易用性上下功夫。因此准备设计并实现了本次1.2.2版本的组件化架构升级的版本。原创 2022-01-13 19:42:45 · 1209 阅读 · 0 评论 -
天画-codeMaker低代码平台设计与实现(下)
一、背景最近没有再更新DDD相关的技术文章了,因为到了实战环节需要大量的代码demo,由于精力和时间有限,因此便希望借助代码生成来解决一些模板化的工作内容。之前已经在代码生成领域做了一些尝试,这里便希望花一些时间专门做几次迭代来满足DDD项目工程实战的问题。二、需求2.1 支持dubbo框架的代码生成需要生成的代码元素包括facade,impl,dto,service,serviceimpl,bo,do,convert,mapper,mapperxml2.2 支持基于plantUML类图的代码生成原创 2021-07-28 13:50:01 · 1494 阅读 · 0 评论 -
基础工具组件starter-idempotent-redission设计与实现
一、功能描述基于redis实现分布式锁,幂等,防重复提交,唯一性校验功能,一个注解即可使用全部特性。二、实现原理通过自定义注解将不同场景进行编码,同时基于切面即可完成不同场景下的业务特征需求。2.1 配置说明这里是单机版,可以按自己集群进行配置调整2.1.1 服务配置server: port: 80spring: application: name: server redis: #数据库索引 database: 0 host: 12原创 2021-01-16 14:38:50 · 521 阅读 · 1 评论 -
基础工具组件starter-paperwork-nacos设计与实现
一、功能描述基于nacos管理配置服务,这里借助starter机制与nacos,mysql一起配合管理非核心业务的配置类数据记录,基于json存储,简化业务配置类数据的管理。二、实现原理通过自定义注解将实体数据与nacos配置数据进行绑定动态与nacos进行交互,并解析数据,通过接口访问。2.1 配置说明nacos: papertext: dataIDArr: com.coderman.common.starter.papertext groupIDArr: 0-S原创 2021-01-10 22:30:48 · 278 阅读 · 0 评论 -
基础工具组件starter-datajson-nacos设计与实现
一、功能描述基于nacos管理配置服务,这里借助starter机制与nacos,mysql一起配合管理非核心业务的配置类数据记录,基于json存储,简化业务配置类数据的管理。二、实现原理通过自定义注解将实体数据与nacos配置数据进行绑定动态与nacos进行交互,并解析数据,通过接口访问。2.1 配置说明nacos: #:存储于数据库中的配置数据 datajson: #:扫描配置的枚举entity模型 entitypath: com.coderman.commo原创 2021-01-09 10:15:40 · 285 阅读 · 2 评论 -
基础工具组件starter-datadict-nacos设计与实现
一、功能描述基于nacos管理配置服务,这里借助starter机制与nacos一起配合管理k-v类型的数据,比如枚举数据,简化应用接入k-v数据的复杂度,降低代码复杂度。二、实现原理通过配置dataid,groupid动态与nacos进行交互,并解析数据,通过接口访问。2.1 配置说明nacos: #:数据字典类型的配置(k-v) datadict: dataIDArr: com.coderman.dict1,com.coderman.dict2,com.coderma原创 2021-01-08 15:46:39 · 418 阅读 · 0 评论 -
轻蜗牛直租平台-基础工具组件starter-公共基础组件包
一、背景我在建设一个租房平台,进行基于租房业务的架构实践。在实战的过程中发现有很多操作可以通过工具类来集成,进而简化开发难度,在建设前期遇到类似的场景就想着可以复用,因此也积累了一些工具组件,这里简要阐述一下各个组件的使用场景,以及在开发过程中遇到的问题。后续会以基础工具类starter为主题详细阐述下列各个组件的实现原理,敬请期待。二、设计与实现2.1 工具组件列表 组件名称 中间件&框架依赖 使用场景 当前发原创 2021-01-07 09:13:23 · 395 阅读 · 0 评论 -
轻蜗牛直租平台-common-utils工具类简介
一、背景我在几家公司工作的过程中发现不同的部门等都会封装一些工具类,比如统一一些异常枚举,统一请求响应,分页工具实体等,因此我在进行业务实战的时候也希望先统一一些api规范和标准,便于快速开发和推广。平时我也会总结一些工具类将之前自己写的或者网上找的工具类放在一起,便于开发新的工具组件和应用到业务系统中。这里专门开一篇文章介绍一下有哪些工具类。二、工具列表这里分几个小章节来介绍一些目前有的工具类。2.1 基于cglib的bean拷贝服务功能描述:基于cglib代理中的BeanCopier原创 2021-01-06 09:25:51 · 786 阅读 · 1 评论 -
天画项目-Idgenerator的开源重构(下)
一、背景&痛点1.1 背景我在建设一个租房平台,进行基于租房业务的架构实践。在写业务代码的时候发现我需要一个ID生成器用于生成各种ID和单据编号信息。上篇已经说到我找到了一个比较中意的开源项目,并且已经进行了本地化搭建,相对顺利的看到了效果。1.2 痛点简单进行尝鲜之后便开始了下一步操作,由于租房业务架构的springboot/cloud版本跟id-generator的版本不一样,同时不支持nacos服务注册,因此这里需要进行改造,或者使其支持nacos注册中心,但是支持的过程并不顺原创 2021-01-04 16:38:31 · 331 阅读 · 0 评论 -
天画项目-Idgenerator的开源重构(上)
一、背景&需求1.1 背景我在建设一个租房平台,进行基于租房业务的架构实践。在写业务代码的时候发现我需要一个ID生成器用于生成各种ID和单据编号信息。1.2 需求ID生成器基于分布式打造,满足高可用性 支持分库分表ID生成的需求 支持各种业务单据编号生成的管理需求 具有可视化配置页面 尽量找开源并满足上述需求的项目,万不得已不自己开发梳理完我的需求之后我开始了在全网寻找ID生成器项目之旅。二、技术选型2.1 分布式ID生成器概览分布式ID生成器的方案之前调研过,原创 2021-01-01 20:09:05 · 232 阅读 · 0 评论 -
Yapi&easyapi文档管理平台安装与使用
一、背景我正在建设一个租房平台,进行基于租房业务的架构实践。我尝试着按照不同领域创建了几个微服务,写了一些接口,准备模拟真正的IT企业开发环境,但是接口多了难免有变更,维护成本,目前一个人的话维护接口文档确实很费时间,无法投入到更多架构,服务设计落地上。因此需要有一个文档管理平台,来管理不同微服务的接口描述,便于后面多人开发的时候提供基础文档。二、文档管理选型2.1 方案1-自研当时遇到接口文档管理瓶颈之后,想着可以借用之前自己捣鼓的文档管理工具代码进行继续开发和迭代,但是也无异于从头搞一套原创 2020-12-31 21:30:05 · 5414 阅读 · 0 评论 -
天画项目-低代码平台-分库分表sql生成设计与实现(dbops)
一、背景&需求1.1 背景我在业余时间构建了一个租房平台,采用springboot微服务的架构模式,同时结合服务化思想进行代码实践,但是由于存在很多重复且低效的变更导致业余时间对这个租房平台的进度产生影响。作为开发人员长期维护一个业余项目产生了很多进度延迟和效率问题会导致项目项目被遗弃的概率增大,对开发者来说也是一个非常沮丧的事情。为了避免这种事情发生,我一方面鼓励自己尽量每天贡献代码,并在合适的时间构建提高开发效率的使用平台。另一方面也是为了借助这个租房平台进行微服务+分库分表+DDD领域原创 2020-12-29 22:01:42 · 1134 阅读 · 0 评论 -
天画项目-低代码平台-er图生成设计与实现
一、背景&需求1.1 背景我在公司负责的一个交易核心项目中,项目架构师使用了plantUML进行了表结构e-r图的构建。我非常好奇,因为之前画e-r图都是使用别的软件进行构建的。另外一方面我的业余项目中也需要构建e-r图,但是我不想为每个项目模块去花时间手动构建e-r图。1.2 需求基于已有表结构通过Java api构建plantUML文件 idea安装支持plantUML文件渲染的插件 自动识别表间关系,生成e-r图二、设计方案&实现2.1 方案描述基于mys原创 2020-12-28 22:33:58 · 4532 阅读 · 0 评论 -
天画项目-低代码平台-总体设计与实现
一、背景&需求1.1 总体背景我在业余时间构建了一个租房平台,采用springboot微服务的架构模式,同时结合服务化思想进行代码实践,但是由于存在很多重复且低效的变更导致业余时间对这个租房平台的进度产生影响。作为开发人员长期维护一个业余项目产生了很多进度延迟和效率问题会导致项目项目被遗弃的概率增大,对开发者来说也是一个非常沮丧的事情。为了避免这种事情发生,我一方面鼓励自己尽量每天贡献代码,并在合适的时间构建提高开发效率的使用平台。另一方面也是为了借助这个租房平台进行微服务+分库分表+DDD原创 2020-12-27 23:01:42 · 5786 阅读 · 1 评论 -
轻蜗牛直租平台-天画项目简介
一、背景我正在建设一个租房平台,进行基于租房业务的架构实践。在实践过程中发现作为开发人员缺乏大规模微服务,大数据量实战的经验,自己独立捣鼓的话往往无法掌控全局,不能很好的获取实战经验,而如今各个培训机构割韭菜非常多,把架构设计等主题炒的非常热,但是作为中级,初级人员想进行微服务架构设计实战,大数据量应用往往门槛偏高。我经过两个多月的业务实战发现我也陷入其中,在业务应用和大规模微服务实战的过程中缺乏很多基础服务能力,导致业务架构无法快速落地。当前就我一个人在持续投入,进度和效率非常低,因此尽早通过一套基础原创 2020-12-26 18:55:35 · 4632 阅读 · 6 评论 -
轻蜗牛直租平台-nacos1.3.1 windows 安装
一、背景我正在建设一个租房平台,进行基于租房业务的架构实践。微服务选型使用的spring cloud体系,因此需要考虑服务注册和服务治理的问题,由于spring cloud体系中的一些组件都在闭源,因此选取了当前比较合适也比较流行的Nacos注册中心,同时也提供了配置管理的功能。二、nacos版本现在的Nacos已经发展到了2.0了,但是不是稳定版,当前不建议部署到生产环境,比较稳定的是1.4.0,笔者在进行技术选型的时候选取的是1.3.1版本,因此这里主要介绍1.3.1版本的windows版本原创 2020-12-25 21:50:55 · 334 阅读 · 1 评论 -
轻蜗牛直租平台-rocketmq4.7.1 windows安装
一、背景我正在建设一个租房平台,进行基于租房业务的架构实践。微服务选型使用的spring cloud体系,同时基于不同业务领域上下文进行工程划分,其中需要分析不同上下文之间如何通过事件串联,哪些场景需要通过mq进行解耦,哪些需要同步调用,因此在不同工程系统间的调用中,需要有mq的参与。另外一方面我之前没怎么接触过开源的mq系统,这里正好需要一款开源的mq中间件进行实战。经过慎重考虑我决定选用rocketmq作为租房业务平台的消息中间件做业务模拟实战。二、rocketmq版本rocketmq自阿里原创 2020-12-24 23:46:28 · 677 阅读 · 2 评论 -
轻蜗牛直租平台-elasticsearch6.4.3 windows安装
一、背景我正在建设一个租房平台,进行基于租房业务的架构实践。由于租房平台是一个交易撮合型的平台,因此需要有PC端和移动端进行房源信息的动态展示,快速查询当前不同城市不同时间端的房源信息。另一方面我希望模拟出千万级的业务数据,因此希望通过elasticsearch来帮助实现整个房源的站内搜索功能。二、es版本关于es的版本其实有很多,不一定需要用最新版本,因此我这里为了适配springboot版本2.1.8选了6.4.3的版本。因此从网上找了一套安装包,这里可以看一下我本地的安装包:...原创 2020-12-23 17:52:55 · 418 阅读 · 0 评论 -
轻蜗牛直租平台-redis sentinel伪集群搭建过程
背景:做一个创业项目或者大型项目肯定会依赖各种中间件,因此涉及到各个中间件的安装运行,接入。因此本系列先不讲业务方面的东西,方便其他开发小伙伴快速融入到业务开发中。因此先介绍一下目前本地已经在跑的中间件系统。后续会逐步集成其他微服务组件,敬请期待。1. redis sentinel伪集群搭建过程elasticsearch.6.4.3 单机搭建过程nacos1.3.1 单机搭建过程rocketmq单机搭建过程xxl-job平台搭建过程shardingjdbc集成springboot的过程.原创 2020-08-20 14:52:29 · 237 阅读 · 1 评论 -
轻蜗牛直租平台-技术中间件选型介绍
背景:有做租房平台这个想法的时候还有点小激动,也筹划了很久。对于各种中间件的技术选型也有一些想法。也希望通过这个项目区提高自己的综合实战能力。同时现在也打算跟一些小伙伴一起开发这个项目。目前处于起步阶段。为了项目的顺利迭代现在把技术中间件和springclou的版本统一说明一下。一、存储存储这块目前应用到了MySQL5.7作为DBMS系统。由于有房源信息的检索,需要搜索引擎的支持,因此搭建了es单机系统,版本是6.4.3。另外缓存这块目前采用的是redis 哨兵模式做伪集群方式。房源同时也会.原创 2020-08-20 13:54:00 · 322 阅读 · 0 评论 -
轻蜗牛直租平台-业务背景介绍
背景:我从北京跳槽到杭州大厂之后,租房突然被坑了,从北漂到杭漂也算是有几个年头了,损失了2个月房租吧。2000多块钱,虽然损失不多,但是很多人租房都有过这种经历,作为租客肯定是吃亏的。因此,我从大厂离职之后就有了一个想法,做一个房源直租平台,由平台对代理人,租户,房东等进行规范化管理和协调。根据不同的场景为房东,为租客,为代理人谋求多赢的局面,每个在外漂泊奋斗的人都将在城市里有属于自己的家。痛点:租房房租高,容易被骗,中介两头吃,租客处于劣势,有房自主居民与租房居民之间的矛盾关系,居住安全问题。对于.原创 2020-08-17 23:23:44 · 696 阅读 · 3 评论