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

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

 

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


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

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整理

相关文章
|
4天前
|
运维 Cloud Native 持续交付
探索云原生架构:企业转型的未来之路
在当今这个数据驱动的时代,企业面临着前所未有的挑战与机遇。随着云计算技术的日益成熟,云原生作为一种新兴的架构理念,正逐步成为推动企业数字化转型的关键力量。本文旨在深入探讨云原生的概念、特点及其对企业转型的重要意义,并通过实例分析展示其在实际应用中的巨大潜力和价值。
|
7天前
|
运维 Cloud Native Devops
探索云原生架构:企业数字化转型的新引擎
在当今数字化浪潮中,云原生架构以其敏捷性、弹性和高可用性成为企业实现高效上云和加速创新的关键。本文将深入探讨云原生的核心理念、关键技术如容器化、微服务和DevOps实践,以及这些技术如何共同推动企业在云平台上的灵活部署和快速迭代。同时,文章还将分析成功案例,展示云原生如何帮助企业构建现代化应用,提高资源利用率,并确保系统稳定运行。通过综合运用这些先进技术策略,企业能够有效应对市场变化,缩短产品上市时间,从而在激烈的市场竞争中脱颖而出。
|
7天前
|
存储 搜索推荐 数据库
MarkLogic在微服务架构中的应用:提供服务间通信和数据共享的机制
随着微服务架构的发展,服务间通信和数据共享成为关键挑战。本文介绍MarkLogic数据库在微服务架构中的应用,阐述其多模型支持、索引搜索、事务处理及高可用性等优势,以及如何利用MarkLogic实现数据共享、服务间通信、事件驱动架构和数据分析,提升系统的可伸缩性和可靠性。
17 5
|
6天前
|
Kubernetes Cloud Native 持续交付
探秘云原生架构:企业数字化转型的新引擎
在当今数字化浪潮中,云原生架构正成为推动企业创新与灵活性的关键因素。本文将深入探讨云原生的核心理念、关键技术以及它如何助力企业实现高效运营和快速响应市场变化,为读者揭示这一现代技术趋势背后的深刻内涵与实践价值。
16 2
|
7天前
|
运维 Cloud Native Devops
云原生架构的崛起与实践云原生架构是一种通过容器化、微服务和DevOps等技术手段,帮助应用系统实现敏捷部署、弹性扩展和高效运维的技术理念。本文将探讨云原生的概念、核心技术以及其在企业中的应用实践,揭示云原生如何成为现代软件开发和运营的主流方式。##
云原生架构是现代IT领域的一场革命,它依托于容器化、微服务和DevOps等核心技术,旨在解决传统架构在应对复杂业务需求时的不足。通过采用云原生方法,企业可以实现敏捷部署、弹性扩展和高效运维,从而大幅提升开发效率和系统可靠性。本文详细阐述了云原生的核心概念、主要技术和实际应用案例,并探讨了企业在实施云原生过程中的挑战与解决方案。无论是正在转型的传统企业,还是寻求创新的互联网企业,云原生都提供了一条实现高效能、高灵活性和高可靠性的技术路径。 ##
18 3
|
3天前
|
缓存 负载均衡 数据管理
深入探索微服务架构的核心要素与实践策略在当今软件开发领域,微服务架构以其独特的优势和灵活性,已成为众多企业和开发者的首选。本文将深入探讨微服务架构的核心要素,包括服务拆分、通信机制、数据管理等,并结合实际案例分析其在不同场景下的应用策略,旨在为读者提供一套全面、深入的微服务架构实践指南。**
**微服务架构作为软件开发领域的热门话题,正引领着一场技术革新。本文从微服务架构的核心要素出发,详细阐述了服务拆分的原则与方法、通信机制的选择与优化、数据管理的策略与挑战等内容。同时,结合具体案例,分析了微服务架构在不同场景下的应用策略,为读者提供了实用的指导和建议。
|
22天前
|
Kubernetes Cloud Native Docker
云原生之旅:从容器到微服务的架构演变
【8月更文挑战第29天】在数字化时代的浪潮下,云原生技术以其灵活性、可扩展性和弹性管理成为企业数字化转型的关键。本文将通过浅显易懂的语言和生动的比喻,带领读者了解云原生的基本概念,探索容器化技术的奥秘,并深入微服务架构的世界。我们将一起见证代码如何转化为现实中的服务,实现快速迭代和高效部署。无论你是初学者还是有经验的开发者,这篇文章都会为你打开一扇通往云原生世界的大门。
|
11天前
|
监控 负载均衡 应用服务中间件
探索微服务架构下的API网关设计与实践
在数字化浪潮中,微服务架构以其灵活性和可扩展性成为企业IT架构的宠儿。本文将深入浅出地介绍微服务架构下API网关的关键作用,探讨其设计原则与实践要点,旨在帮助读者更好地理解和应用API网关,优化微服务间的通信效率和安全性,实现服务的高可用性和伸缩性。
31 3
|
15天前
|
存储 Java Maven
从零到微服务专家:用Micronaut框架轻松构建未来架构
【9月更文挑战第5天】在现代软件开发中,微服务架构因提升应用的可伸缩性和灵活性而广受欢迎。Micronaut 是一个轻量级的 Java 框架,适合构建微服务。本文介绍如何从零开始使用 Micronaut 搭建微服务架构,包括设置开发环境、创建 Maven 项目并添加 Micronaut 依赖,编写主类启动应用,以及添加控制器处理 HTTP 请求。通过示例代码展示如何实现简单的 “Hello, World!” 功能,并介绍如何通过添加更多依赖来扩展应用功能,如数据访问、验证和安全性等。Micronaut 的强大和灵活性使你能够快速构建复杂的微服务系统。
39 5
|
23天前
|
消息中间件 Java 网络架构
AMQP与微服务架构的集成策略
【8月更文第28天】在微服务架构中,各个服务通常通过HTTP/REST、gRPC等协议进行交互。虽然这些方法在很多场景下工作得很好,但在需要高并发、低延迟或需要处理大量消息的情况下,传统的同步调用方式可能无法满足需求。此时,AMQP作为异步通信的一种标准协议,可以提供一种更为灵活和高效的消息传递机制。
22 1

热门文章

最新文章