3-2-58到家实时消息平台架构实现细节
- 格式:pdf
- 大小:717.25 KB
- 文档页数:20
数据库的基本概念基本概念这一块,主要是让大家就一些数据库方面的概念达成一致。
首先是“单库”,最初的时候数据库都是这么玩的,几乎所有的业务都有这样的一个库。
接下来是“分片”,数据库的分片是解决数据量大的问题。
如果数据量非常大,就要做水平切分,有一些数据库支持auto sharding。
之前58同城也用过两年mongoDB,后来发现auto sharding功能不太可控,不知道什么时间进行迁移数据,数据迁移过程中会有大粒度的锁,读写被阻塞,业务会有抖动和毛刺,这些是业务不能接受的,因此现在又迁移回了MySQL。
一旦进行分片,就会面临“数据路由”的问题:来了一个请求,要将请求路由到对应的数据库分片上。
互联网常用的数据路由方法有三种:(1)第一个是按照数据范围路由,比如有两个分片,一个范围是0-1亿,一个范围是1亿-2亿,这样来路由。
这个方式的优点是非常的简单,并且扩展性好,假如两个分片不够了,增加一个2亿-3亿的分片即可。
这个方式的缺点是:虽然数据的分布是均衡的,每一个库的数据量差不多,但请求的负载会不均衡。
例如有一些业务场景,新注册的用户活跃度更高,大范围的分片请求负载会更高。
(2)第二个是按照hash路由,比如有两个分片,数据模2寻库即可。
这个方式的优点是路由方式很简单,数据分布也是均衡的,请求负载也是均衡的。
这个方式的缺点是如果两个分片数据量过大,要变成三个分片,数据迁移会比较麻烦,即扩展性会受限。
(3)第三个是路由服务。
前面两个数据路由方法均有一个缺点,业务线需要耦合路由规则,如果路由规则发生变化,业务线是需要配合升级的。
路由服务可以实现业务线与路由规则的解耦,业务线每次访问数据库之前先调用路由服务,来知道数据究竟存放在哪个分库上。
接下来是“分组”与“复制”,这解决的是扩展读性能,读高可用的问题。
根据经验,大部分互联网的业务都是读多写少。
淘宝、京东查询商品,搜索商品的请求可能占了99%,只有下单和支付的时候有写请求。
基于微信小程序的家政服务平台的实现Realization of Housekeeping Service Platform Based on WeChat Mini Program摘要随着中国市场经济的不断发展,人口老龄化的加剧,社会对家庭服务市场的需求越来越大。
但是,传统的线下家庭服务往往遇到瓶颈,逐渐跟不上时代的发展趋势,满足不了用户的需求。
此外,随着互联网的飞速发展以及越来越多人拥有如手机、平板等移动设备,伴随着微信的快速发展,已经成为现代人不可缺少的社交工具。
几乎所有行业都希望接入互联网,形成O2O模式,也就是我们熟知的线上对线下的模式。
此外,使用B2B2C模式,即公司对公司、再由公司推到个人,也在发挥巨大的作用。
如阿里巴巴、美团等等。
利用互联网高效便捷地为用户提供便利,解决国内家政行业面临的瓶颈问题是大势所趋。
因此,建立一个透明、公开、平等、高效运行的家政服务平台势在必行。
关键字:微信小程序网络平台家政服务透明化AbstractWith the continuous development of China's market economy and the aging of the population, the society's demand for the family service market is increasing. However, traditional offline family services often encounter bottlenecks, and gradually fail to keep up with the development trend of the times, and cannot meet the needs of users. With the rapid development of the Internet and more and more people own mobile devices such as mobile phones and tablets. WeChat has become an indispensable social tool for modern people because of the rapid development of the Internet. Almost all industries want to access the Internet to form an O2O model, which is what we know as an online-to-offline model. In addition, the B2B2C model, that is, company-to-company and then company-to-person promotion, has also played a huge role, such as Alibaba Group and so on. It is the general trend to use the Internet to efficiently and conveniently provide convenience to users and solve the bottleneck problems faced by the domestic housekeeping industry. Therefore, to build a transparent, open and efficient homemaking service platform is very imperative.Key words:Mini Program Platform Housekeeping Transparency目录第一章绪论 (1)1.1课题背景与意义 (1)1.2研究现状 (1)1.3论文研究的主要内容 (2)第二章相关开发环境和技术的简介 (3)2.1开发环境介绍 (3)2.1.1 开发环境 (3)2.1.2 开发技术 (3)2.1.3 部署环境技术 (3)2.1.4 系统配置 (3)2.2相关技术介绍 (3)2.2.1 Java (3)2.2.2 SpringBoot (4)2.2.3 MyBatis-Plus (4)2.2.4 Vue (4)2.2.5 微信小程序 (4)2.3本章小结 (5)第三章需求分析 (6)3.1编写目的 (6)3.2总体需求 (6)3.3功能性需求 (6)3.4非功能性需求 (8)3.5本章小结 (8)第四章系统的总体设计 (9)4.1系统边界设计 (9)4.2系统业务流程 (10)4.2.1 总体业务流程图 (10)4.2.2 查看文章流程图 (11)4.2.3 登录流程图 (11)4.2.4 支付流程图 (12)4.3系统数据流图 (13)4.3.1 顶层数据流图 (13)4.3.2 中层数据流图 (13)4.3.3 底层数据流图 (14)4.4总体软件实现架构描述 (18)4.4.1 层次结构 (18)4.4.2技术架构 (19)4.5系统的开发模式设计 (19)4.6总体模块结构 (20)4.7子模块设计 (21)4.7.1 系统管理模块 (21)4.7.2 平台管理模块 (21)4.7.3 小程序管理模块 (22)4.7.4 数据模块 (22)4.7.5 微信小程序模块 (23)4.8数据库的设计 (23)4.8.1 地址表address (23)4.8.2 文章表article (24)4.8.3 文章点赞表article_appreciate (25)4.8.4 分类表category (25)4.8.5 优惠券表coupon (25)4.8.6 评论表evaluate (26)4.8.7 反馈表feedback (27)4.8.8 服务表good (27)4.8.9 足迹表good_access (28)4.8.10 收藏表good_love (28)4.8.11 轮播图表rotation (29)4.8.12 公司&部门表sys_dept (29)4.8.13 日志表sys_log (30)4.8.14 菜单表sys_menu (31)4.8.15 角色表sys_role (31)4.8.16 角色菜单表sys_role_menu (32)4.8.17 管理员表sys_user (32)4.8.18 用户角色表sys_user_role (33)4.8.18 用户token表sys_user_token (33)4.8.19 订单表t_order (33)4.8.20 用户优惠券表user_coupon (34)4.8.21 微信用户表wechat_user (35)4.9本章小结 (35)第五章系统的详细设计 (36)5.1项目结构 (36)5.1.1 目录结构 (36)5.2部件详细设计 (39)5.2.1 统一结果返回 (39)5.2.2 系统日志注解 (39)5.2.3 自定义异常 (40)5.2.4 获取请求IP (41)5.2.5 生成Token (41)5.2.6 公共实体 (41)5.2.7 Shiro权限认证 (42)5.3后台管理系统API (44)5.3.1后台用户管理模块 (44)5.3.2角色管理模块 (49)5.3.3菜单管理模块 (51)5.3.4部门(商家)管理模块 (54)5.3.5日志模块 (55)5.3.6文件上传模块 (55)5.3.7文章管理模块 (56)5.3.8分类管理模块 (57)5.3.9优惠券管理模块 (58)5.3.10服务管理模块 (60)5.3.11订单管理模块 (61)5.3.12轮播图管理模块 (62)5.3.13微信用户管理模块 (62)5.4微信小程序端API (63)5.4.1用户中心 (63)5.4.2地址中心 (66)5.4.3文章中心 (67)5.4.3优惠券中心 (68)5.4.4评价中心 (69)5.4.5服务中心 (70)5.4.6首页 (73)5.4.7订单中心 (73)5.5 Vue后台管理端设计 (75)5.5.1 主要设计 (75)5.6微信小程序页面设计 (76)5.6.1主要设计 (76)5.7本章小结 (76)第六章系统的展示 (77)6.1后台管理平台 (77)6.2微信小程序 (85)6.3本章小结 (92)第七章系统特色和创新 (93)7.1系统特色 (93)7.2系统创新 (93)第八章总结 (94)参考文献 (95)致谢...................................... 错误!未定义书签。
《[58商业到家模式:互联网思维做线下服务] 58到家商业模式》去年,58同城旗下成立了独立的O2O公司58到家,号称其服务模式引发行业里对移动互联网O2O模式发展路径的新探讨。
那么,这家公司在O2O上的探索有哪些值得借鉴之处呢?一般来说,O2O模式要想生存,必须实现服务提供者与服务平台都能够赢利,否则这个服务平台不会长期存在下去,要想实现双赢,就必须解决赢利模式的问题。
很多信息平台为服务人员提供了更广阔的挣钱机会,所以会向服务人员提取中介费用,这也是线下各种中介流行的模式,但是,面对不可避免的服务人员与服务需求方跨越平台直接接触的机会,这种中介只能千方百计的阻断和干扰买卖双方的直接联系来保证自己的价值。
O2O是依托网络建设的,信息透明化大大增加,要想实现自己的商业利益不太可能继续线下中介模式,由此便需要创新,而基础服务免费、增值服务收钱的模式可能会更具有竞争力。
比如,58到家对一般的家政服务人员的服务并不收取任何中介费用,只是会在服务人员通过公司的培训和一定量的达到标准以后的服务,从而达到了更高的级别拿到远远高于行业平均收入之后,在高端的服务项目上收取特定的增值服务费。
这种模式让大量的服务人员享受到全额的收益的同时,也会让高端服务者心甘情愿的付费。
用户流失对于任何企业都是经营的大敌,而O2O企业更是关系到生死存亡。
面对人数众多,来源繁杂、流动频繁且与各种信息平台、各需求方联系密切的服务人员,要想通过制度把这些人控制住绝非易事。
在线下,很多中介服务机构的方式是两种,一是收取保证金,用金钱来束缚住服务人员的手脚,二是一事一收费,不管长远,每单结算。
这样的模式对想把平台做大做强的O2O企业并不适用。
58到家的经验是,公司不去强行的控制用户,而是通过独特的能力把客户牢牢的粘住在平台上。
如果一个人在平台的管理之下能够每个月挣到七千或万元,一旦离开了平台就只能恢复到以前的四五千元,平台几乎不同担心很多人会跑掉。
58到家,给业务做减法作者:暂无来源:《经理人》 2015年第5期文 / 李欣*为开拓O2O生活服务领域,58到家在业务品类选择上没有做多元化,而是尽量做减法,按照频次高、用户量大、痛点足够痛和市场潜力大等四个维度,最终锁定了保洁、装修、美甲三大业务,如今它们的日单量达到1万单。
58同城在扩张版图。
3月2日,58同城以2.6701亿美元成功并购房地产信息服务平台安居客;3月13日,58同城战略入股土巴兔的C轮融资,获得其少数股份。
加上去年投资e代驾,收购魅力91、驾校一点通等公司,58同城在本地生活服务的涉猎范围进一步扩大。
为顺应公司发展,58同城内部的管理层面也在进行调整,原来按照职责划分的构架被六个独立事业部代替,分为58同城、分类信息事业群(LBG)、房产事业群(HBG)、二手车事业部(ABU)、金融事业部(FBU)、渠道及兼职事业部(CBU)。
被独立出来的“58到家”于去年年初低调上线。
如今,通过手机应用,消费者可以很快享受到保洁、搬家、美甲三类上门服务。
外界把“58到家”看成是58同城内部的自我革命。
从分类信息的黄页到上门服务,很多人认为58同城在经历一场充满矛盾的自我转变。
激进背后的市场选择“其实我们是创业公司。
”在58同城旁边一栋楼的办公室里,“58到家”的CEO陈小华如此定义这家从母公司中独立出来的公司。
办公室外是几十人的办公区,这里的员工只有10%来自58同城,剩下的则是”58到家”自己招的人,“他们不拿58同城的股票。
”陈小华表示。
早在做“58到家”之前,陈小华就对本地服务进行了一番分析和思考。
“本地化的服务,可以分为三类,一类是到店服务,一类是上门服务,一类是58同城在做的周边信息服务。
到店服务和上门服务不同,到店服务需要复杂的生产资料,包括场地,而上门服务比较简单,就是移动的人。
” 陈小华表示,之所以“58到家”选择做上门的服务,是基于市场的对比分析。
在到店服务领域,已经出现了上亿美元的公司。
图1.1 58到家服务结构图本文要讲述的是58速运服务模块。
最近使用了58速运搬了一次家,感觉相比于传统搬家公司,58速运具备一下优势:1、便捷传统搬家公司一般都是提前1-3天预约,而58速运支持提前预约用车和即时叫车,即时叫车下单完成,一般几分钟内,则有司机接单并电话联系,一般半小时内则可到达搬家地点,出行高峰期可能时间会相应延长;2、安全司机都是经过58认证、培训,且可根据用户对司机的评价自主选择司机,每单货运都由中国平安承保;3、便宜58速运依靠平台优势,为司机提供更多货运业务,降低司机的获客成本,从而降低司机的服务费用,使用户能以更低的费用享用货运服务。
如今,O2O大潮早已退去,但是蛋糕还没被分完,生活中还存在方方面面不便利的情景,能真正调动、分配社会资源,改善不便情况,提高效率,为民众服务,才是有价值的O2O项目。
二、用户画像及使用场景分析1、用户画像58速运主要提供搬家以及货运两大服务。
从百度指数查看用户搜索“搬家”、“搬家公司”的结果显示,搬家需求大的人群主要集中在20-29岁、30-39岁这个区间,男性偏多,高达百分之七十几,大城市搜索指数高于中小城市。
初步分析,使用搬家服务的用户主体主要是都市青年、中年打工者,因为大多数都是租房子住,搬家频率较高。
从百度指数查看用户搜索“货运”、“货运公司”的结果显示,货运需求大的人群主要集中在20-29岁、30-39岁这个区间,男性偏多,同样高达百分之七十几。
初步分析,使用货运服务的用户主体主要是工厂、个体户商人。
具体见图2.1及图2.2。
图2.1 “搬家公司”与“货运公司”百度指数用户图像图2.2 “搬家”与“货运”百度指数用户图像2、使用场景搬家服务的使用场景主要有:1. 未成家的租房者,房子租期到,搬迁到新的租房,一般人数为1-2人,东西较少;2. 已成家的租房者,房子租期到,搬迁到新的租房,一般是一家人,人数为3-5人,东西较多,多家具,家电;3. 新购房者搬迁到新房,东西较多。
家政服务线上服务平台运营规划及策略设计第一章:项目概述 (2)1.1 项目背景 (2)1.2 项目目标 (3)1.3 项目意义 (3)第二章:市场分析 (4)2.1 市场现状 (4)2.2 市场需求 (4)2.3 市场竞争 (4)第三章:服务内容设计 (5)3.1 服务类别划分 (5)3.1.1 家政服务基本分类 (5)3.1.2 服务类别细分 (5)3.2 服务标准制定 (5)3.2.1 服务流程规范 (5)3.2.2 服务人员资质要求 (6)3.2.3 服务质量评价体系 (6)3.3 服务质量控制 (6)3.3.1 服务人员培训与管理 (6)3.3.2 服务过程监控 (6)3.3.3 服务质量改进 (7)第四章:平台架构设计 (7)4.1 技术架构 (7)4.2 功能模块设计 (8)4.3 数据管理 (8)第五章:用户界面设计 (8)5.1 用户注册与登录 (8)5.2 服务浏览与筛选 (9)5.3 互动与评价 (9)第六章:运营模式规划 (10)6.1 商业模式选择 (10)6.2 营销策略制定 (10)6.3 合作伙伴关系建立 (10)第七章:推广策略 (11)7.1 线上推广 (11)7.1.1 搜索引擎优化(SEO) (11)7.1.2 社交媒体营销 (11)7.1.3 网络广告 (11)7.2 线下推广 (12)7.2.1 地推活动 (12)7.2.2 合作推广 (12)7.2.3 公关活动 (12)7.3 品牌建设 (12)7.3.1 品牌定位 (12)7.3.2 品牌视觉识别系统 (12)7.3.3 品牌传播 (12)7.3.4 品牌维护 (12)第八章:风险管理 (12)8.1 法律法规风险 (12)8.1.1 法律法规概述 (12)8.1.2 法律法规变更风险 (13)8.1.3 法律法规执行风险 (13)8.2 市场风险 (13)8.2.1 市场竞争风险 (13)8.2.2 用户需求变化风险 (13)8.2.3 经济波动风险 (13)8.3 技术风险 (13)8.3.1 技术更新迭代风险 (13)8.3.2 系统安全风险 (13)8.3.3 技术依赖风险 (14)第九章:人员管理与培训 (14)9.1 人员招聘与选拔 (14)9.1.1 招聘渠道 (14)9.1.2 招聘标准 (14)9.1.3 选拔流程 (14)9.2 培训与考核 (14)9.2.1 培训内容 (14)9.2.2 培训方式 (14)9.2.3 考核机制 (14)9.3 激励与惩罚 (15)9.3.1 激励措施 (15)9.3.2 惩罚措施 (15)9.3.3 激励与惩罚的平衡 (15)第十章:可持续发展策略 (15)10.1 创新能力提升 (15)10.2 企业文化建设 (15)10.3 社会责任履行 (15)第一章:项目概述1.1 项目背景互联网技术的飞速发展,以及人们生活节奏的加快,家政服务需求呈现出持续增长的态势。
全球架构师峰会-京东到家技术架构分享物理部署架构首先总括下我们的物理部署架构:请求通过前端域名进来,到达haproxy集群层,请求到达A B两个集群。
然后到达我们的应用服务层,应用服务层通过调用各业务的SDK(SDK是组装了各rpc服务的一个逻辑整合层),两个红圈的地方这里做下说明,第一个红圈其实我们在实践操作中用网关层做了替代,接下来会说到网关。
微服务化图1:微服务化原因微服务化的一些原因,对应的其实也就是它的一些好处,这里不做特殊说明。
图2:微服务化的弊端微服务化有这么多好处,但是同时也带来一些负产品,例如:系统微服务化后带来一个问题是系统变多了,相互之间的依赖变复杂了。
一个业务的数据流有可能在几十个系统之间流转。
这个时候系统监控和问题的排查难度加大了。
另外之前一个系统有可能一个事务就能搞定的数据一致性,现在设计很多个系统如何做好分布式事务也是一个关键。
NOTE:微服务化虽好但要有度网关图3:网关架构图网关在访问控制,统一安全控制,访问分析等方面起着重要作用,其实很多公司在架构层面并没有这一层,但是只是在功能上将此功能分散到了各个业务系统去了,比如安全防刷等;网关的主要架构如上图,即,有一个专门的配置系统维护渠道,版本,功能三个维度的关系,例如android 的4.7.0版本首页功能模块指向哪个URL。
数据先进入redis然后存储到数据库。
如果真的线上要生效这个配置则要通过手动刷新zookeeper的节点,触发网关各应用服务器对此节点的监听,然后更新网关jvm内存。
此时前端的访问过来的时候直接从各网关的服务器本地内存中就获取了相关配置。
NOTE:流量分发,安全管控,数据分析LBS的缓存图4:基于定位的缓存图查询用户附近门店这是LBS服务中非常高频的一个功能,但是用户的地址经纬度变动非常灵敏,可能你从马路一边走到另外一边你的经纬度就变了,这时候根据用户的经纬度去你的门店的大的list中去遍历的时候你会发现速度非常慢,严重影响用户体验。