企业互联网应用架构的探索:共享服务

简介: 互联网时代背景下,共享服务成为一种必要的方式。在本文中,云徙科技首席架构师陈新宇就从共享服务的背景、优势以及如何建设和运营共享服务,这几个方面进行了精彩的分享。

 

本次直播视频精彩回顾,戳这里!


本次分享主要分为以下几个方面:

1.     共享服务

2.     共享服务的建设

3.     共享服务的运营

 

 

一,        共享服务

1.背景

首先介绍一些背景,企业原本的应用是企业内部的管理型应用,随着时代的发展,由于员工移动的需求、招聘、打通上下游、接触消费者等需求,企业应用逐渐走向外部协同与交互应用。

 

6c2105b6cc8db840aead5dbd82a870a0f97fada1

 

这样的转变也带来了许多挑战。

· 大用户并发:比如秒杀等应用。

· 业务的快速创新:互联网会带来快速的变更。支持业务创新,需要积累,而非从0做起。

· 跨平台:客户端可能会使用不同的浏览器、操作系统、手机。后台也有可能是跨平台的,比如Spring Cloud、HSF等。

· 割裂的多个单体应用:企业内部有很多割裂的应用,如何打通。

· 开放及API经济:为了打通上下游要进行API开放。开放API也是一种经济,是可以盈利的。

 

2. 工业界的解决之道:汽车平台化

汽车平台化是指在开发过程中利用相似的底盘和车身结构,承载不同车型的开发和生产制造,在此基础上生产出外形、功能不尽相同的产品。

下面这个案例展示的是,将汽车拆分成不同的部件并进行组合。通过共享的方式来解决用户不同的需求,从而提高生产效率,降低成本。

 

b9871130d753eac0a362d1d206d5730569790a23

3cd539dd47f62ac17ca04d5c3046e376f489562e


 

3. 企业应用的技术演变

上面提到的是一个实际的应用案例,下面从技术角度介绍一下其演变过程。下图总体比较容易理解。需要强调一点现在的技术演变一定是轻量的。同时一定是多种类型的,客户端、数据库、网络都是多种类型的。

 

3dfb10e4ea144ad162af0efeb74bb1d21cf8d6c4

 

4. 共享服务能带来什么

效率:共享,就不需要从头开始做,

性能:微服务架构允许横向扩展,提高性能。

成本:可以重用之前的服务,降低了成本。

稳定:重用的服务是已经被验证过的。

兼容:可以兼容不同的系统。

二,        共享服务的建设

1.     业务服务中心化

比如将商品、订单、会员分别独立成商品中心、订单中心、会员中心。将业务分离方便进行横向扩展。

 

1f4278a1318cc1032bfe513946e4ae133930360e

 

2.     基础能力API化

将基础的能力API化,不仅可以供内部使用,还可以开放给第三方。

 

d9cc254567b108d396be4fcbd4ba742e6094fcf8

 

3.     基础能力组件化

将公共的能力组件化,以隔离不同的应用层。

 

de3df6446341f1ef7a9c3e82db73b90735cc09d7

 

4.     下图展示了一个系统的层级视图。

 最底层是数据库访问层。领域层是业务的核心,由于是共享服务,则一定会存在API接口层。最外层是前端的用户界面层,下面连着网关,网关和一系列的聚合调用构成了应用服务层。基础设施层包括消息队列,事务管理等。

 

745c3d418b21573edb4b9acfd641fb9470e006eb


5.     应用服务层由以下部分组成。

下面详细介绍一下应用服务层。它主要包括三个内容。

· 网关/应用:

  · 协议转换

  · 路由与过滤

  · 认证与授权

  · 转换与映射输入输出

  · 可实现跨多个服务中心的业务流程

· 聚合:

· 实现跨多个服务中心的业务流程

· API接口:

  · 提供远程访问接口

  · 处理基础设施相关事宜,如日志/发送消息等

  · 应用服务级别的输入验证

 

6.     应用服务层的职责

· 通过应用服务层将客户端与领域解耦

· 通过应用服务层将基础设施与领域解耦

· 应用服务层是无状态的和过程性的

 

5388dce6aa4e6b4ab44fda7aaf9708867fed4585

 

端口形式和部署方式如下图。从实践经验看,一般需要提供两种接口,一种是RESTful,另一种是API。如果只有API接口,用户只能通过网关来进行协议的转发,而通过RESTful接口就可以实现简单的操作,比如客户的增加删除。同时,系统会部署在不同的环境中,因此,必须要解决适配性的问题。

 

875b9f3ec7e434e172ff14aa7650f6ccc2610a0e

 

在建设过程中有以下几种方式。

 

0684a4bc9d28d05e2117493aa3fa3de3975c5ec2

 

上图左侧和右侧得方式可能会导致两种不同的架构风格。当然,也不存在哪种方式更优的说法,要根据实际情况进行选择。

 

三,        共享服务的运营

共享服务开发完成之后,关键还要用于实践,因此,运营也是很重要的一环。运营主要分为两个部分。第一个部分主要是前台,如下图。比如,API如何申请,jar包如何下载,开发的文档在哪里等。

 

6ee003c09bdd1ec6474632966436211e5eefb6d2

 

第二个部分是后台。主要包括,API管理,服务配置,监控预警(运营分析,比如哪些接口调用的次数较多),组件管理(组件被谁使用了)等。

 

1aa3de1c8249838a2614afbc0be7de7518ade212 


共享服务或中台不仅仅只是一套系统,运营也是必不可少的。


本文由云栖志愿小组马JY整理

相关文章
|
15小时前
|
Cloud Native Java 微服务
使用Java构建可伸缩的云原生应用架构
使用Java构建可伸缩的云原生应用架构
|
1天前
|
运维 Kubernetes Docker
容器化技术在微服务架构中的应用
【7月更文挑战第3天】容器化技术在微服务架构中的应用,为现代应用的开发、部署和运维带来了革命性的变化。通过容器化,我们可以实现服务的快速部署、独立运行和高效扩展,同时提高资源的利用率和系统的可维护性。随着容器技术的不断发展和完善,相信它将在未来的软件开发中发挥更加重要的作用。
|
1天前
|
弹性计算 运维 Kubernetes
阿里云ECS与混合云策略的结合,不仅为企业搭建了一个既灵活又稳定的IT基础架构,还为业务的快速发展与创新提供了坚实的技术支撑。
【7月更文挑战第3天】阿里云ECS在混合云中扮演关键角色,提供弹性计算资源和多样计费模式,确保业务连续性与灵活性。通过VPC互通、应用迁移、数据同步服务,如VPC对等连接、DTS,实现云上云下资源的高效整合。结合安全解决方案,保证在混合环境下的合规与安全。阿里云ECS助力企业数字化转型,应对市场变化。
10 1
|
2天前
|
大数据 数据处理 数据中心
x86和x64架构的区别及应用
x86和x64架构的区别及应用
|
3天前
|
大数据 数据处理 数据中心
x86和x64架构的区别及应用
x86和x64架构的区别及应用
|
3天前
|
监控 Java 开发者
实现Java微服务架构下的服务熔断与降级
实现Java微服务架构下的服务熔断与降级
|
3天前
|
Cloud Native Java 微服务
使用Java构建可伸缩的云原生应用架构
使用Java构建可伸缩的云原生应用架构
|
3天前
|
Kubernetes 监控 API
深入理解微服务架构及其在现代后端开发中的应用
随着云计算和容器技术的飞速发展,微服务架构已成为现代后端开发中的一项关键技术。本文将深入探讨微服务的设计理念、优势与挑战,并基于最新的行业数据和案例分析,揭示微服务如何优化后端系统的性能和可维护性。通过引用权威研究和技术报告,我们将展示微服务架构在处理复杂业务逻辑、提高开发效率以及增强系统的可扩展性和容错能力方面的实际效益。
14 0
|
3天前
|
运维 Cloud Native Devops
云原生架构的演进与实践:面向未来的企业技术战略
在数字化转型的浪潮中,云原生架构已成为推动企业技术创新和业务敏捷性的核心力量。本文旨在深入探讨云原生架构的发展历程、关键技术组件以及在实际应用中的效益与挑战。通过分析来自全球不同行业的实证数据和案例研究,文章揭示云原生技术如何助力企业实现资源的高效利用、应用的快速迭代和系统的弹性扩展。同时,结合最新的研究成果和行业报告,为读者提供一套系统化的云原生采纳指南和战略规划建议,以期帮助企业构建面向未来的技术体系,并在激烈的市场竞争中保持领先地位。
22 0
|
4天前
|
存储 运维 负载均衡
构建高可用性的Java应用架构
构建高可用性的Java应用架构