serverless 入门与实践39 | 学习笔记: 华为 Serverless 核心技术与实践

本文涉及的产品
Serverless 应用引擎 SAE,800核*时 1600GiB*时
函数计算FC,每月15万CU 3个月
简介: serverless 入门与实践39 | 学习笔记: 华为 Serverless 核心技术与实践

serverless.jpeg

本文是 serverless 入门与实践 的第39篇


学习<华为 Serverless 核心技术与实践>, 计划: 1篇前言 + 10篇/章 + 1篇总结


翻译服务Serverless架构


多视图的软件架构是软件架构设计文档中的重要组成部分。它不仅是一种架构归档的方法,还是一种架构设计的思维方法。按照视图划分软件,通常采用4+1视图方式,即逻辑视图、开发视图、部署视图、运行视图和用例视图。


对于翻译服务,逻辑视图非常重要,我们需要按照业务功能进行领域建模。领域建模的方法非常多,可以基于业务经验进行建模,也可以利用一些标准的领域驱动设计技术,如DDD


按照架构分层设计的理念,我们首先完成翻译服务的零层和一层架构设计,然后结合DDD的设计方法,完成翻译服务的领域对象设计、限界上下文和业务子域划分,最后根据业务子域和限界上下文划分函数。


功能架构

翻译服务零层架构

0.jpeg

翻译服务一层架构

1.jpeg


函数划分策略

结合业务特点,利用领域建模的方法对翻译函数进行划分


划分方法-函数的划分总体上遵循“高内聚、低耦合”的原则,同时结合翻译服务的业务特点,以及团队人员技能等因素综合确定划分方法:

  • 按照角色进行划分,每个角色对应1个或多个函数。
  • 按照业务领域划分,每个限界上下文和业务子域对应1个或多个函数。
  • 按照性能、可靠性等进行拆分,通常的划分维度包括:批量操作或单个操作,内部使用的运营管理类功能或面向用户的业务功能等。
  • 按照功能重要性进行划分,将核心业务和非核心业务分开,保障服务SLA和可靠性。


函数划分方法

3.jpeg

主流程梳理

  • 开发者业务主流程
  • 翻译服务商业务主流程
  • 平台管理员业务主流程


进行领域建模时,事件风暴是一个比较实用的工具,通常包含产品需求、场景分析等


领域建模-翻译服务业务域划分示例

4.jpeg


技术架构

翻译服务领域模型示例

5.jpeg


关键架构质量属性设计: 性能设计准则

通过在距离函数最近的位置提供本地缓存


同步编程接口调用编程比较简单,串行化编程比较容易理解,但是其缺点也比较明显。

  • 业务线程利用率低
  • 纠结的超时时间
  • 雪崩效应


可以通过异步调用来解决同步调用导致的阻塞和资源使用率低的问题,异步调用会在一定程度上增加编码和问题定位的复杂性,因此推荐在适用的场景下使用异步调用。


通过缓存、异步等技术可以将单点的性能优化到极致


云数据库弹性扩容架构

6.jpeg


关键架构质量属性设计: 可靠性设计准则

业务域的可靠性主要依托云函数服务自身的可靠性来保障。

  • 双云双活,ELB/SLB自动切换流量。
  • 函数平台基于微服务构建,微服务无状态,可随意启停替换,不影响业务函数实例对外服务。
  • 业务函数实例故障,函数平台负责自动重启实例。
  • 函数间容器隔离,故障互不影响。
  • 心跳检测机制,基于健康检查结果,请求只分发健康的实例。


关键架构质量属性设计: 安全性设计准则

提供的主要安全能力包括以下几个方面

  • 接入安全:App、用户和服务三重认证;基于角色的权限管理;不同的租户使用不同的Database,保证数据隔离。
  • 数据安全:云端数据存储自动加密;端云全密态数据管理。
  • 攻击检测与系统韧性:防SQL注入;过载检测与流量控制;系统审计。
相关实践学习
【文生图】一键部署Stable Diffusion基于函数计算
本实验教你如何在函数计算FC上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。函数计算提供一定的免费额度供用户使用。本实验答疑钉钉群:29290019867
建立 Serverless 思维
本课程包括: Serverless 应用引擎的概念, 为开发者带来的实际价值, 以及让您了解常见的 Serverless 架构模式
目录
相关文章
|
22天前
|
运维 Kubernetes 前端开发
拥抱Knative, 合思加速Serverless化演进实践
合思信息基于阿里云容器服务Knative, 实现Serverless化演进的最佳实践。
拥抱Knative, 合思加速Serverless化演进实践
|
1月前
|
弹性计算 关系型数据库 Serverless
函数计算驱动多媒体文件处理:高效、稳定与成本优化实践
本次测评的解决方案《告别资源瓶颈,函数计算驱动多媒体文件处理》展示了如何利用阿里云函数计算高效处理多媒体文件。文档结构清晰、内容详实,适合新客户参考。方案提供了一键部署与手动部署两种方式,前者简便快捷,后者灵活性高但步骤较多。通过部署,用户可体验到基于函数计算的文件处理服务,显著提升处理效率和系统稳定性。此外,测评还对比了应用内处理文件与函数计算处理文件的不同,突出了函数计算在资源管理和成本控制方面的优势。
22703 19
|
1月前
|
运维 Cloud Native 开发者
云原生技术演进:从微服务到无服务器的旅程
【8月更文挑战第20天】在数字化时代的浪潮中,云原生技术如同一艘航船,承载着企业转型的梦想与挑战。本文将深入探讨云原生技术的发展路径,从微服务的兴起到无服务器架构的革新,揭示这一技术演进背后的逻辑与动力。通过分析云原生技术的优势、面临的挑战以及未来的发展趋势,我们将描绘出一幅云原生技术演进的宏伟蓝图。
|
1月前
|
运维 Kubernetes Serverless
Serverless Argo Workflows荣获信通院标杆实践案例,引领大规模离线任务处理新方法
阿里云容器服务Serverless Argo Workflows大规模离线计算工作流平台荣获2024信通院Serveless实践标杆案例。本文介绍其应用场景、平台特性以及领域实践。
|
2月前
|
分布式计算 Java Serverless
EMR Serverless Spark 实践教程 | 通过 spark-submit 命令行工具提交 Spark 任务
本文以 ECS 连接 EMR Serverless Spark 为例,介绍如何通过 EMR Serverless spark-submit 命令行工具进行 Spark 任务开发。
367 7
EMR Serverless Spark 实践教程 | 通过 spark-submit 命令行工具提交 Spark 任务
|
1月前
|
Cloud Native Serverless 云计算
云原生时代的技术演进:从微服务到Serverless
在数字化转型的浪潮中,云原生技术正成为推动企业IT架构现代化的重要力量。本文将探讨云原生技术的关键组成部分—微服务与Serverless架构—如何助力企业实现敏捷开发和高效运维。通过深入分析这两种架构模式的优势与挑战,我们旨在为读者揭示云原生环境下的最佳实践和未来发展趋势。
|
28天前
|
前端开发 大数据 数据库
🔥大数据洪流下的决战:JSF 表格组件如何做到毫秒级响应?揭秘背后的性能魔法!💪
【8月更文挑战第31天】在 Web 应用中,表格组件常用于展示和操作数据,但在大数据量下性能会成瓶颈。本文介绍在 JavaServer Faces(JSF)中优化表格组件的方法,包括数据处理、分页及懒加载等技术。通过后端分页或懒加载按需加载数据,减少不必要的数据加载和优化数据库查询,并利用缓存机制减少数据库访问次数,从而提高表格组件的响应速度和整体性能。掌握这些最佳实践对开发高性能 JSF 应用至关重要。
44 0
|
1月前
|
机器学习/深度学习 监控 Serverless
Serverless 应用的监控与调试问题之Flink在内部使用的未来规划,以及接下来有什么打算贡献社区的创新技术
Serverless 应用的监控与调试问题之Flink在内部使用的未来规划,以及接下来有什么打算贡献社区的创新技术
|
1月前
|
分布式计算 Serverless 数据处理
EMR Serverless Spark 实践教程 | 通过 Apache Airflow 使用 Livy Operator 提交任务
Apache Airflow 是一个强大的工作流程自动化和调度工具,它允许开发者编排、计划和监控数据管道的执行。EMR Serverless Spark 为处理大规模数据处理任务提供了一个无服务器计算环境。本文为您介绍如何通过 Apache Airflow 的 Livy Operator 实现自动化地向 EMR Serverless Spark 提交任务,以实现任务调度和执行的自动化,帮助您更有效地管理数据处理任务。
155 0
|
1月前
|
Cloud Native 安全 云计算
云原生技术的未来:探索服务网格和无服务器架构
随着企业数字化转型的深入,云计算已成为推动业务创新的核心力量。本文将深入探讨云原生技术的最新发展趋势,重点分析服务网格和无服务器架构如何重塑云计算的未来。通过实际案例和技术解析,揭示这些前沿技术如何解决现代应用部署的复杂性,提高系统的可伸缩性和弹性。文章旨在为读者提供云原生领域的深度见解,并激发对云技术未来发展的思考。
76 0

热门文章

最新文章

相关产品

  • 函数计算