HarmonyOS开发者限时福利来啦!最高10w+现金激励等你拿~ 了解详情
写点什么

完整微服务化示例:使用 Apache ServiceComb 进行微服务开发、容器化、弹性伸缩

  • 2019-12-25
  • 本文字数:1224 字

    阅读完需:约 4 分钟

完整微服务化示例:使用 Apache ServiceComb 进行微服务开发、容器化、弹性伸缩

微服务架构作为新兴领域的架构模式,已步入产品化形态,与容器化、集群等一起成为了当下热点。而微服务、Docker、kubernetes 之间的关系,究竟这三者之间是什么样的关系,分别能在微服务领域发挥什么作用,却常给入门的读者和用户带来些许迷茫感。


本文使用一个简单的普适性的微服务示例,从业务场景入手,到微服务架构设计、实现、容器化、集群部署、压测、弹性伸缩、资源控制,端到端以最直白的方式演示了这三者的关系,会给读者带来不一样的真切的理念体验和感受,增强对系列概念的理解。

普适性微服务化示例

为了读者能更容易了解 ServiceComb 微服务框架的功能以及如何用其快速开发微服务,所以提供大家耳熟能详的例子,降低学习曲线的同时,增加趣味性,加深理解。


本文中假设我们成立了一家科研公司,处理复杂的数学运算,以及尖端生物科技研究,并为用户提供如下服务:


  • 黄金分割数列计算

  • 蜜蜂繁殖规律 (计算每只雄蜂/雌蜂的祖先数量)


但是我们如何将公司的这些强大运算能力提供给我们的消费者呢?


首先我们通过认证服务保障公司的计算资源没有被滥用, 同时我们对外提供 Rest 服务让用户来进行访问。下面的视频展示具体的服务验证调用的情况。

业务场景

让我们先对业务场景进行总结分析


1.为了公司持续发展,我们需要对用户消费的运算能力收费,所以我们聘用了门卫认证用户,避免不法分子混入。


2.为了提供足够的黄金分割数量运算能力,我们需要雇佣相应的技工。


3.为了持续研究蜜蜂繁殖规律,公司建立了自己的蜂场,需要相应的养蜂人进行管理研究。


4.为了平衡技工、养蜂人、和门卫的工作量和时间,我们建立了告示栏机制,让当前有闲暇的人员发布自己的联系方式,以便我们能及时联系技能匹配的人员以服务到来的用户。


5.因为运算能力成本高昂,我们将运算项目进行了归档,以便未来有相同请求时,我们能直接查询项目归档,节省公司运算成本。


6.面对上述复杂的场景,我们又聘用了部门经理来管理公司成员和设施


7.最后,当公司日益壮大,用户数量暴涨时,我们还需要招聘更多技工、养蜂人、和门卫,所以增加了人力资源部门



公司结构 (系统架构)


到现在业务场景已经比较清晰,我们把上述职务部门和设施画成公司组织结构图。


现在公司组织结构已经完整,让我们着手搭建相应部门。


本文转载自微服务蜂巢公众号。


原文链接:https://mp.weixin.qq.com/s?__biz=MzUxNTEwNTg5Mg==&mid=2247488670&idx=1&sn=7556990599cea8e0fd80ed54b9f39026&chksm=f9bae195cecd688332940d0b296909e8130d828104c36c20f49d76d43561f626eae24bd0c1ef&scene=0&xtrack=1&key=17fbc717c1803f309d535a4bdbc0f9c0d8d2089a5c7e455df8c0a5e6d824a6534b8476d2ad151cd45ed10eb7a15577914596444e867d96f615c277fc05fe951cef48de8b7d0732dcb4bc74f5c0e2f95a&ascene=14&uin=MTI5MjAyNjcyMQ%3D%3D&devicetype=Windows+10&version=62070158&lang=zh_CN&exportkey=AfH3CzqE%2F1ENttvg815y9Uo%3D&pass_ticket=oGcazNeaRfkuszcDU0L7jpfeTFZ3%2FULBAbPnhurUkiyW7DLvBVsoC%2Fh5OWX1zIsH


2019-12-25 18:11706

评论

发布
暂无评论
发现更多内容

深度剖析数仓CN增量备份技术

华为云开发者联盟

华为云 备份 GaussDB(DWS) 备份容灾 CN增量备份

云开发在教育应用开发、运维全流程实践

阿里云云效

云计算 阿里云 DevOps 云原生 开发

45个 GIT 经典操作场景,专治不会合代码

程序员小富

git

NFT卡牌盲盒游戏系统开发搭建

薇電13242772558

NFT

MongoDB常见问题解答:时间与时区

MongoDB中文社区

mongodb

数字化时代,银行如何建设管理小程序平台促进线上金融业务发展?

FinClip

小程序 银行

web前端培训:js算法面试es6实现

@零度

JavaScript ES6

福昕软件与中国船级社签署框架合作协议,共建数字船舶发展新高地

联营汇聚

恒源云(Gpushare)_UNIRE:一种可以共享标签空间的方法

恒源云

OpenCV 计算机视觉 服务器

深度文 | 一文看懂云原生时代 DevOps 如何选型

星汉未来

运维 云原生 降本增效

云原生背景下的应用安全建设

火线安全

云原生 云安全

TiDB 5.4 发版丨新功能解读

PingCAP

基于大数据的医疗健康疾病筛查及风险评估系统

Geek_7jiynf

医疗方案 医疗AI 医疗信息化

直播系统聊天技术(七):直播间海量聊天消息的架构设计难点实践

WorkPlus

车辆GPS定位整套管理系统,轨迹播放,车辆管理,电子围栏,报警记录,数据库/人员定位/宠物定位/物流跟踪/资产定位

Geek_7jiynf

Java Java web GPS

ZStack 与龙蜥操作系统完成兼容性认证,共同打造安全可信的云+OS技术生态

OpenAnolis小助手

云计算 开源 操作系统 云平台

大数据培训:Kafka存储结构及Log清理机制

@零度

大数据 kafka log

Apache Flink 在移动云实时计算的实践

Apache Flink

大数据 flink 开源 编程 实时计算

【C语言】结构体

謓泽

C语言 结构体 3月月更

高级IO模型之kqueue和epoll

程序那些事

Java io nio 程序那些事 3月月更

记某核心MongoDB集群索引优化实践

MongoDB中文社区

mongodb

【数据库】云数据库rds是什么意思?有什么优势?

行云管家

数据库 云数据库 RDS

【云计算】云计算六大优点简单说明

行云管家

云计算 IT 企业上云 IT运维

fastposter v2.5.1 发布 轻松在线作图

物有本末

带你掌握Redis数据类型:string和Hash

华为云开发者联盟

redis string hash 数据类型

什么是SDK,它是怎样威胁我们的隐私?

郑州埃文科技

不会Netty,你永远是个Java菜鸟

博文视点Broadview

加入XTransfer,和技术大咖一起大展身手!

XTransfer技术

程序员 招聘 跨境支付

数字化背景下,为何J2PaaS低代码平台,能成为企业技术升级的优选?

J2PaaS低代码平台

低代码 数字化 企业数字化转型 低代码平台 企业级低代码平台

科创人·弘玑Cyclone CEO高煜光:从RPA到超自动化,以客户需求构建战略纵深

科创人

JAVA只要掌握内部类,多继承和单继承都不是问题

华为云开发者联盟

Java jdk 多继承 内部类 单继承

完整微服务化示例:使用 Apache ServiceComb 进行微服务开发、容器化、弹性伸缩_文化 & 方法_ServiceComb_InfoQ精选文章