51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2893|回复: 0
打印 上一主题 下一主题

soa 架构 至 微服务

[复制链接]
  • TA的每日心情
    无聊
    昨天 09:06
  • 签到天数: 530 天

    连续签到: 2 天

    [LV.9]测试副司令

    跳转到指定楼层
    1#
    发表于 2019-1-3 17:13:01 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

    今天整理一下内容,将推出一个开源的开发基础平台,项目的背景是依托全品类的内容,整体架构设计为soa的。

    1,首先介绍一下项目的内容,根据现有的互联网产品的特点,规划产品的内容有:

    •     用户中心:支撑所有子系统及后来规划服务的用户统一处理中心,分布式开发,分布式部署的特点,并且支撑大数据量的存储。采用分库分表的设计,具体的实现在后面的详细环节进行讲解。
    •     动态内容:提供博客的内容方式,实现类似微信朋友圈的效果。内容的发布设计采用nosql来存储,本身支持分布式大数据量的存储。
    •     商品中心:也可理解为商城,根据产品的发展不同阶段,可以对商品中心继续拆分,后端采用微服务的设计进行详细的模块拆分。对事物要求较高的数据采用关系型数据库mysql,非事物性的数据采用nosql来存储。在考察Tidb的数据库正式版,后期对接Tidb分布式数据库。
    •     支付中心:可以理解为支付产品,类似支付宝微信支付类的产品,事物要去很高的数据依旧采用mysql来实现,后端会主从复制及读写分离。对数据量大的表进行分库分表设计,可以考虑后期的发展,前期采用开源的数据库中间件,后期如果发展很好一定会自开发数据库中间件。
    •     聊天消息:主要为移动产品设计,类IM的产品,前期采用开源或者第三方的IM产品,开源的话暂时使用openfire来定制开发实现,对数据的存储计划采用Cassandra数据库来存储。
    •     广告中心:提供对整个产品线的广告设计及内容管理,采用配置化管理的设计功能,实现内容接口的实现,使用关系型数据库来存储。
    •     设置中心:提供所有平台和所有子系统中配置化的管理和配置参数的设置。
    •     搜索引擎:独立的搜索引擎,采用elasticsearch实现搜索引擎中心的功能,配合产品的内容进行整合。

    以上是暂定的产品,可以根据需要单独使用其中的一个产品。所有后台的rpc前期使用dubbox,根据发展和技术人才的发展,会考虑使用zeroc或者其他rpc组件。


    2,微服务的设计,微服务的设计是基于上面大服务的内容进行扩展或者拆分,也可以根据系统的需要单独需要微服务来实现,例如会员中心,积分中心等。

        以支付中心大服务为例,支付中心后面的微服务前期设计的有:充值提现中心,订单中心,红包中心,金融中心等,核心的是支付网关,对接的每个支付网关都将是独立的微服务,实现配置化管理。


    3,整个项目的管理采用maven,模块开发,更容易进行包依赖和项目管理依赖。


    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-22 01:32 , Processed in 0.065968 second(s), 24 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表