微服务架构的长租公寓管理系统设计

2020-01-03 10:09高超谢文聪
现代信息科技 2020年14期
关键词:运营管理

高超 谢文聪

摘  要:随着我国长租公寓产业的兴起,相应的公寓运营管理信息系统建设逐渐受到重视,然而业务功能的迅速变化及规模的不断膨胀给该类系统的设计带来了新的挑战。结合管理难点、痛点,基于微服务架构的相关基础,结合长租公寓实际运营管理流程与经验,设计出基于微服务架构的长租公寓运营管理信息系统的总体设计方案,最后对该系统的基本结构进行了分析与探讨。

关键词:微服务架构;长租公寓;运营管理

Abstract:With the rise of Chinas long-term rental apartment industry,the construction of the corresponding apartment operation management information system has been paid more and more attention. However,the rapid change of business functions and the continuous expansion of the scale have brought new challenges to the design of such systems. Combined with the management difficulties and pain points,based on the relevant foundation of micro-service architecture,combined with the actual operation and management process and experience of long-term rental apartment,the overall design scheme of operation and management information system of long-term rental apartment based on micro-service architecture is designed. Finally,the basic structure of the system is analyzed and discussed.

Keywords:micro-service architecture;long-term apartment;operation management

0  引  言

在“房住不炒”的政策指引下,長租公寓产业在我国蓬勃发展。较多长租公寓从业企业,例如具有酒店行业、房屋中介机构背景的企业,其运营管理信息系统多基于传统架构的单体架构(Monolithic Architecture)模式。但随着业务量的增长、需求的不断延伸,导致系统功能耦合度日益加深、代码维护工作量越来越大。为解决上述问题,提出一种基于微服务架构的长租公寓运营管理信息系统的设计思路,以期为行业内运营管理信息系统的开发提供一种思路。

1  微服务架构简介

微服务架构(Microservices Architecture)由面向对象(Object Oriented,OO)设计专家Martin Flower提出,是一种低成本、快速响应、面对复杂业务逻辑的软件系统架构设计理论。该理论的核心思想为:将具有复杂业务逻辑的软件系统拆分成彼此独立的多个服务(Service),每个服务对应现实中企业某一类具体业务,服务之间一般采用REST、JSON等轻量级通信协议进行协作通信。单个服务代码较少(通常为数百行至数千行不等),业务逻辑相对简单且运行在自己的进程中,可以独立测试、部署、运行,从而使得整体应用可以高效地迭代、运维。

微服务架构可以视为SOA的“升级版”,但与SOA相比,微服务架构不再强调SOA架构里的ESB企业服务总线,而是将SOA的理念深入至每一个具体的业务服务中。微服务架构应用的核心在于如何识别服务的边界,设计出合理的微服务。一般来说,有三种常见的拆分模式。

(1)统一服务层:所有基础数据都通过一个统一的服务来进行访问。这种模式在业务简单的时候不失为一个快速分层的方案,一旦业务变得复杂,服务层会变得非常重并成为耦合焦点。如果所有的数据访问都通过一个服务层来访问,那么一行代码出故障,就将影响整个服务。

(2)每个子业务对应一个服务:即将服务层按业务类型进行细分,一个服务出问题也不会影响其他服务,与此同时,数据层也按照业务垂直拆分开。每个微服务可由不同团队开发,项目开发速度将获得显著提升。

(3)每个数据库对应一个服务:每个专用数据库只关注一个业务功能。每个微服务配套一个数据库,数据库可根据不同的微服务类型进行选择,例如需要大型的数据管理时使用Oracle数据库,若只管理少许数据时可使用MySQL数据库,甚至是SQLite数据库。

2  长租公寓运营管理信息系统功能模块分析

长租公寓运营管理信息系统应具有两类终端,分别为Web端及移动端。其中,移动端需分别向公寓管理人员及租客提供相应APP程序。系统需能够连接至公寓中使用的各类智能设备(如智能门锁、智能水表、智能电表、人脸识别门禁、人证检验等),实时传递信息。系统的主要业务场景包括以下内容。

(1)公司高管:查看概览。

(2)系统管理员:配置项操作、权限配置。

(3)财务人员:对账、流水明细的审核。

(4)平台运营人员:运营报表导出、运营数据分析。

(5)公寓一线店员:对租客入住前、入住后、结租操作及智能设备运行情况查看等。

长租公寓运营管理信息系统的功能模块主要包含以下内容。

(1)Web端:主要包括工作台、房源管理、合同管理、客户管理、账务管理、物联设备管理、统计报表及系统权限配置等模块。

(2)用户端APP:主要包括账户管理、线上缴费、线上找房、智能设备管理、线上报修、结组申请及发票申请等模块。

(3)管家端APP:主要包括房源管理、合同管理、账务管理、智能设备管理、线上报修、运营数据展示等模块。

如图1所示,智慧公寓管理平台的整体系统方案分为五层,包括智能设备层、IaaS平台层、PaaS平台层、智慧公寓SaaS平台层以及大数据DaaS平台层。每一层都包括不同的功能模块。

(1)智能设备层,需要接入智能门锁、智能电表、智能水表以及融合网关等设备。

(2)PaaS平台层,与公寓IOT平台、第三方物联平台以及电子签约平台等对接。

(3)智慧公寓SaaS平台层,采用微服务低耦合设计方案,结合公寓的实际运营流程,平台细分为看房(租前)、签约、入住、服务以及退房(租后)五大业务流程(无人看房、CRM以及人脸识别模块会在后续的版本中陆续实现)。同时在该层完成第三方财务系统和第三方OA系统的对接。

(4)大数据DaaS平台层,该层完成用户行为数据分析、飞单预警、运营分析、房间安全预警、群租告警、定价策略分析,为公寓运营提供数据支撑。

(5)IaaS平台层,该层支持主流公有云如阿里云、天翼云、华为云的云端业务部署,或根据运营方IT能力采用私有云进行云端业务部署。

南京东南公寓管理有限公司坚持以一站式综合服务平台创意菁英人居样本,通过“1+1+X”运营模式,打造集创业学习、社交活动、生活服务于一体的服务空间,满足租住人群的一体化需求。借助智能化设备设施、集成化管理系统、专业大数据管理手段、拇指化操作等,让运营管理更便捷、更高效。系统登录页面如图2所示。

3  长租公寓运营管理系统架构设计

长租公寓运营管理信息系统架构设计基本原则如下。

(1)采用大型系统B/S技术架构、经典MVC模式,将数据层、業务层、展示层、用户层进行分析分离,实现系统高内聚、低耦合。

(2)业务边界清晰、扩展性好,系统代码简洁,系统迭代升级快速,可扩展性强。

(3)支持硬件系统分布式集群部署,提供数据缓存异步、冗余、自动备份更新等机制。

(4)系统前端可实现CDN加速、缓存、静态化、异步加载等。

(5)可灵活使用中间件服务机制、应用分布式集群等服务。当用户越来越多时,将用户的请求分发给集群上不同的应用服务器。

(6)动态数据(比如Session)或者查询频率很高的静态数据采用Redis数据库进行缓存,使得业务彼此分离;核心业务数据库采用主备高可用模式,单个节点故障不会影响数据库服务,也不会导致数据丢失。

(7)支撑功能完善:系统消息中心、日志系统需完备,可很好解决整体系统的稳定性、可追溯性等问题。

(8)服务响应速度:正常接口响应时间控制在5秒以内(不包括复杂业务逻辑报表导出接口)。在5台服务器集群(4核CPU,32 G内存,1 000 G SSD硬盘)、2台数据库服务器(4核CPU,16 G内存,500 G SSD硬盘)以及100 M带宽的资源配置下可以支撑5万套房源的正常运营(包括用户端APP/管家端APP)。

本信息系统采用Spring Boot作为开发应用框架,该框架采用约定优于配置(Convention Over Configuration)的方式开发,可以快速构建Spring应用。在微服务架构的具体实现上,本信息系统采用了Spring Cloud云应用开发工具,该工具主要包括分布式开发五大组件,分别为:服务发现(Netflix Eureka)、客户端负载均衡(Netflix Ribbon)、断路器(Netflix Hystrix)、服务网关(Netflix Zuul)及分布式配置(Spring Cloud Config)。

系统业务微服务拆分的方式为每一个业务对应一个业务类微服务,一共具有9个核心业务种类的微服务,分别为:房源服务、设备服务、租务服务、财务服务、系统服务、电子签约服务、报修服务、收费服务、企业服务。系统基础类服务4个,分别为:注册中心、网关服务、负载均衡以及配置服务。服务采用Docker Swarm部署,可根据性能需要对服务进行横向拓展。实际部署过程中,各个服务模块都采用集群部署方式,单个服务甚至服务器故障不会影响系统正常对外服务。其具体架构如图3所示。

4  结  论

参考常用的系统微服务架构设计方案,提出一种基于Spring Cloud的长租公寓运营管理信息系统设计思路,将公寓管理的整个业务拆分为一组微服务,各微服务之间相对独立,且服务之间能通过轻量级通信机制进行服务间的调用。所有微服务相互配合,解决了系统维护难、扩展难的痛点。

参考文献:

[1] 李贞昊.微服务架构的发展与影响分析 [J].信息系统工程,2017(1):154-155.

[2] 马雄.基于微服务架构的系统设计与开发 [D].南京:南京邮电大学,2017.

[3] 杨宇,焦丽琴.基于微服务的企业应用设计与实现 [J].电子科学技术,2016,3(5):623-625.

[4] 张晶,黄小锋.一种基于微服务的应用框架 [J].计算机系统应用,2016,25(9):265-270.

[5] 王磊.微服务架构与实践 [M].北京:电子工业出版社,2015:87-126.

作者简介:高超(1985—),男,回族,江苏南京人,高级工程师,硕士研究生,研究方向:软件架构设计、软件测试;谢文聪(1984—),男,汉族,江苏徐州人,助理工程师,本科,研究方向:产品需求分析、软件开发。

猜你喜欢
运营管理
县域城市公共自行车运营管理体制浅析
对风电场运营管理的探讨
基于电信运营商及物联网运营平台的研究
新能源公交车辆发展的政策支持及使用管理
博物馆免费开放后的运营管理
医药制造型企业总部层面运营管理的思考与实践
医院大型设备的运营管理(pet—ct)
村镇公共设施优化配置与运营管理综述