0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

微服务架构在工业制造当中的应用

电子设计 来源: 电子设计 作者: 电子设计 2020-12-25 02:34 次阅读

什么是微服务架构

简单地说,微服务是系统架构上的一种设计风格, 它的主旨是将一个原本独立的系统拆分成多个小型服务,这些小型服务都在各自独立的进程中运行,服务之间通过基于HTTP的RESTful API进行通信协作。被拆分成的每一个小型服务都围绕着系统中的某一项或一些耦合度较高的业务功能进行构建, 并且每个服务都维护着自身的数据存储、业务开发、自动化测试案例以及独立部署机制。

微服务架构的优缺点

微服务的优点

·每个微服务都很小,这样能够聚焦一个指定的业务功能或业务需求。

·微服务能够被小团队单独开发,这个小团队是2到5人的开发人员组成。

·微服务是松耦合的,是有功能意义的服务,无论是在开发阶段或部署阶段都是独立的。

·微服务能使用不同的语言开发,如JavaPython、PHP、C#等。

·微服务允许容易且灵活的方式集成自动部署,通过持续集成工具,如Jenkins, Travis CI等工具。

·一个团队的新成员能够更快投入生产。

·微服务易于被一个开发人员理解,修改和维护,这样小团队能够更关注自己的工作成果。无需通过合作才能体现价值。

·微服务允许你利用融合最新技术

·微服务只是业务逻辑的代码,不会和HTML,CSS 或其他界面组件混合。

·微服务能够即时被要求扩展。

·微服务能部署中低端配置的服务器上。

·易于和第三方应用系统集成。

·每个微服务都有自己的存储能力,可以有自己的数据库,也可以有统一数据库。

微服务的缺点

·微服务架构可能引入过多的操作;

·需要提高DevOps应用技巧;

·对于开发和运维带来一定的挑战,需要付出双倍的努力;

·分布式系统比单体应用架构复杂,且难以管理;

·对于故障诊断比较难,分布式部署跟踪比单体架构复杂;

·当服务数量增加,管理复杂性增加。

微服务架构在工业应用上的实战

下面以格创东智在某工业生产行业客户进行了微服务架构的实际落地案例进行说明。

公司拥有MES、EDA、RPT、SPC、OEE、FDC等应用,其中查询、分析类应用已经移植到微服务架构,使用的是Spring Cloud。

以RPT系统为例,使用SpringCloud之后,新增报表只需要开发有关业务逻辑的代码,其他配置、权限及校验代码都由微服务架构代劳,其开发和测试部署相较之前更加快捷,而且融合了Python技术,在某些特定场景下,系统运行效率也有可观的改善。

在异常分析系统中,之前使用的是Spark MLlib,但是在预测产品异常方面,Python的Keras效果更佳,在导入微服务架构后,可以很方便的使用Scala和Python的“混合”架构,系统的分析准确率得到了提升。

在移植过程中遇到了微服务的“边界”问题,在我们进行微服务架构设计和改造过程中,一个不可避免的问题是如何确定服务边界、如何进行服务识别,微服务的划分粒度究竟如何确认。我们可能会听到,服务既不能太大,也不能太小,当然这是一个笼统的概念。那么,问题来了,究竟多大是大,多小是小。

一个设计良好的服务应包含以下五个特征:

特征一:服务不与其他服务共享数据库

特征二:服务应包含尽可能少的数据库表

特征三:一个服务要么包含完整的业务含义,要么是放之四海皆通用的公共服务。

特征四:一个良好的服务应首先确保其数据可用性。

特征五:在一个业务系统中,一个服务只能是并且唯一的可信来源。

MES系统和EDA系统这一类与生产强相关的应用,业务逻辑复杂,耦合性强,进行服务“拆分”很难符合以上5个特征。所以暂时无法对其进行“拆分”。

综上所述,微服务架构比较适合制造业应用中查询、分析类应用,在生产控制这一类与生产强相关的应用上的作用还有待挖掘。

本文作者:

格创东智大数据系统集成部 王子超(转载请注明作者及来源)

审核编辑 黄昊宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 工业制造
    +关注

    关注

    0

    文章

    404

    浏览量

    28096
  • 智能制造
    +关注

    关注

    48

    文章

    5596

    浏览量

    76422
  • 工业互联网
    +关注

    关注

    28

    文章

    4327

    浏览量

    94190
  • 微服务架构
    +关注

    关注

    0

    文章

    25

    浏览量

    2969
收藏 人收藏

    评论

    相关推荐

    NVIDIA 发布保障代理式 AI 应用安全的 NIM 微服务

    NVIDIA NeMo Guardrails 包含全新 NVIDIA NIM 微服务,能够为各行业构建 AI 的企业提高 AI 的准确性、安全性和可控性。   AI 智能体有望成为能够完成各种任务
    发表于 01-17 16:29 41次阅读

    微服务容器化部署好处多吗?

    微服务容器化部署好处有很多,包括环境一致性、资源高效利用、快速部署与启动、隔离性与安全性、版本控制与回滚以及持续集成与持续部署。这些优势助力应用可靠稳定运行,提升开发运维效率,是现代软件架构的优质选择。UU云小编认为微服务容器化
    的头像 发表于 01-17 10:22 40次阅读

    容器化能替代微服务吗?两者有何区别

    和可维护性。而容器化技术则是一种轻量级的虚拟化技术,它将应用程序及其依赖项打包到一个独立的容器中,使其能够不同的环境中一致地运行。虽然容器化技术为微服务提供了一个理想的运行环境,但微服务架构
    的头像 发表于 01-13 10:40 74次阅读

    Java微服务中如何确保安全性?

    Java微服务架构中确保安全性,可以采取以下措施: 身份验证与授权: 使用OAuth 2.0和OpenID Connect框架进行身份验证和授权。OAuth2允许用户不分享凭证的情
    的头像 发表于 01-02 15:21 119次阅读

    宝藏级微服务架构工具合集

    宝藏级热门微服务架构工具包含Spring Boot、Eclipse Vert.X、Kubernetes、Tyk、RabbitMQ、Apache Kafka等。其中,Spring Boot简化了微服务
    的头像 发表于 12-21 16:33 202次阅读

    k8s微服务架构就是云原生吗?两者是什么关系

    k8s微服务架构就是云原生吗?K8s微服务架构并不等同于云原生,但两者之间存在密切的联系。Kubernetes云原生
    的头像 发表于 11-25 09:39 180次阅读

    SSR与微服务架构的结合应用

    随着互联网技术的快速发展,前端技术栈不断更新迭代,后端架构也经历了从单体应用到微服务的变革。在这个过程中,服务端渲染(SSR)作为一种提升页面加载速度和SEO性能的技术,与微服务
    的头像 发表于 11-18 11:34 362次阅读

    架构与设计 常见微服务分层架构的区别和落地实践

    架构风格越倾向于清晰的职责定位,且让领域模型成为架构的核心。 基于这些架构风格,软件架构设计过程中又有非常多的
    的头像 发表于 10-22 15:34 286次阅读
    <b class='flag-5'>架构</b>与设计 常见<b class='flag-5'>微服务</b>分层<b class='flag-5'>架构</b>的区别和落地实践

    微服务架构与容器云的关系与区别

    微服务架构与容器云密切相关又有所区别。微服务将大型应用拆分为小型、独立的服务,而容器云基于容器技术,为微服务提供构建、发布和运行的平台。区别
    的头像 发表于 10-21 17:28 260次阅读

    入门级攻略:如何容器化部署微服务

    第一步理解容器化基础,第二步创建Dockerfile,第三步构建推送镜像,第四步部署微服务,第五步管理微服务、第六步优化更新。容器化部署微服务是现代软件开发中的一种高效方法,可提供良好的可移植性、可扩展性和管理性。容器化部署
    的头像 发表于 10-09 10:08 175次阅读

    Proxyless的多活流量和微服务治理

    1. 引言 1.1 项目的背景及意义 在当今的微服务架构中,应用程序通常被拆分成多个独立的服务,这些服务通过网络进行通信。这种架构的优势在于
    的头像 发表于 08-28 16:54 1609次阅读
    Proxyless的多活流量和<b class='flag-5'>微服务</b>治理

    NVIDIA NIM微服务带来巨大优势

    服务通过热门 AI 模型为数百万开发者带来高达 5 倍的 token 效率提升,使他们能够立即访问 NVIDIA DGX Cloud 上运行的 NIM 微服务
    的头像 发表于 08-23 15:20 523次阅读

    采用OpenUSD和NVIDIA NIM微服务创建精准品牌视觉

    全球领先的创意和制作服务机构率先采用 OpenUSD 和 NVIDIA NIM 微服务来创建精准的品牌视觉。
    的头像 发表于 08-01 14:33 454次阅读

    全新 NVIDIA NeMo Retriever微服务大幅提升LLM的准确性和吞吐量

    企业能够通过提供检索增强生成功能的生产就绪型 NVIDIA NIM 推理微服务,充分挖掘业务数据的价值。这些微服务现已集成到 Cohesity、DataStax、NetApp 和 Snowflake 平台中。
    的头像 发表于 07-26 11:13 885次阅读
    全新 NVIDIA NeMo Retriever<b class='flag-5'>微服务</b>大幅提升LLM的准确性和吞吐量

    【算能RADXA微服务器试用体验】Radxa Fogwise 1684X Mini 规格

    通过网络可以了解到,算能RADXA微服务器的具体规格: 处理器:BM1684X 算力:高达32Tops INT8峰值算力 内存:16GB LPDDR4X 内存 存储:64GB eMMC 编程框架
    发表于 02-28 11:21