云连锁反应:中间件栈添层 应用更轻量

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
简介:

中间件栈增加了层以及对轻量应用的开发需求将导致更好的云访问。

过去10年,软件的开发和部署方式已经出现了巨大的转变。2005年初时,企业服务总线还很流行,而云尚处在青春期,还在等待这Amazon EC2/S3的降临。现在,开发者可以利用的技术数量出现了爆发式增长,云的无所不在增加了中间件栈的层次,据专家说。

总部位于英国乌斯特郡的咨询公司C2B2的首席顾问Matt Brasier说,所有现有技术经过10年的发展已经极大地成熟了,为中间件栈开发者和应用架构师提供了更多的多样性。这一架构性选择延伸到了SQL存储等组件,使得开发者可以选择最适合于被开发应用的技术,他补充道。

给中间件栈增加层

10年前,开发者要对付的只有3层:接入层、业务逻辑层以及用户接口层,Brasier说。但随着中间件栈变得越来越与服务相关,那些严格的层消失了。现在,面向业务的服务和集成层使得开发者将服务与应用捆绑在一起,集成层成为了中间件栈新的一层。集成层位于瘦很多的业务层的上面,而用户接口层则是在集成层的上面,他说。

集成、API、移动或其他层,所有这些附加均未对中间件层造成损害,这是总部位于科罗拉多州Evergreen的Savoir Technologies CTO Jeff Genender的说法。按照他的看法,移动和API层实际上是一回事,且有赖于前端应用是干什么的,比方说,在开发中的GUI是否适应移动设备,他说。

“移动产品应该能够利用全服务产品所用的同一个API,但要小心它在API内的用量有多少,” Genender说。但是移动并不是一个独立的层;而是相对于微服务的端点—而这无论它是通过节点应用还是PHP端点来完成,一般都是利用RESTful 服务或JSON实现来完成的,他补充道。

应用变得越来越轻量

随着开发者和应用架构师对一个错误就能导致整个应用瘫痪的现状感到厌烦,单容器部署—像开发界WebSpheres和JBosses这样的一体应用服务器已经逐渐淡出到后台,Genender说:“在必须升级或更新软件时,你得把整个系统关闭,或者要有一个相当复杂的滚动部署,”他补充道。

然而,微服务是轻量的,在应用部署上采取了更加联邦的方式,这使得开发者可以在不同的服务、位置或容器中使用多个端点,Genender说。这使拿掉一部分比例的应用成为可能,这样软件就可以实时更新了。“这提高了正常运行时间,并增加了软件的可维护性”他说。

云需要轻量应用

混合云和云部署对中间件栈产生了巨大影响。更轻量的应用采用微服务,这使得它们可以很好地适应基于云的环境,据Genender说。因为它们是轻量的,所以他们没有繁重的内存且处理器需求也不高,而由于微服务是联邦式、分布式的,可以在任何地方部署,他说。

“你需要在小一点的封装内工作,这里没有地方容纳一体式应用服务器,” Genender说。基于云的应用的全部要点是轻量、能快速且有成效地加速应用和新功能的推出,这不可能发生在数G大小需要大量处理能力的应用身上。“这就是这一变化的推动力,搬到云端、更小的处理器、更多的分布式,”他说。

按照C2B2的Brasier的说法,服务的另一大驱动力是灵活性。在与云应用集成时,开发的最佳实践是访问服务的灵活性,而不是把组件嵌入到应用中,他说。

“开发出成功应用的人是通过创建服务,然后再结合应用和业务流程来做到的,” Brasier说,指出这一切都是通过服务流转的。这些结构已经成为了适应云需求的必要,这已成为提供服务的一大驱动力,他补充道。

有的也许会说多一事不如少一事,但是根据专家的说法,在中间件栈增加层已经体现出好处。随着对轻量型应用、服务,尤其是微服务的需求在增长,这些将会成为云访问的预期基础。


本文作者:boxi

来源:51CTO

相关文章
|
1月前
|
分布式计算 中间件 API
中间件应用集成的介绍
中间件应用集成在系统集成中扮演关键角色,通过中间件层连接和协调异构系统,促进通信与数据共享。它提供标准接口,简化集成过程,提升效率,实现业务流程统一。中间件类型多样,如集成、交易、工作量、门户中间件等,可根据需求定制,增强系统可用性、可扩展性,降低成本,助力企业提高效率和竞争力。
17 2
|
5月前
|
中间件 程序员 开发工具
Django实践-08中间件的应用
Django实践-08中间件的应用
Django实践-08中间件的应用
|
7月前
|
前端开发 中间件
77 # koa 中间件的应用
77 # koa 中间件的应用
23 0
|
4天前
|
开发框架 JavaScript 中间件
中间件应用Koa.js(Node.js)
我们添加了两个中间件。第一个中间件记录请求的开始时间,并在下一个中间件执行完毕后计算并打印出请求的总时间。第二个中间件与之前的示例相同,它设置响应体为 "Hello World"
20 6
|
3天前
|
存储 缓存 监控
中间件应用合理使用缓存和数据结构
中间件应用合理使用缓存和数据结构
17 3
|
3天前
|
存储 监控 安全
中间件应用优化持久化配置
中间件应用优化持久化配置
11 2
|
3天前
|
消息中间件 监控 NoSQL
中间件应用合理配置内存
中间件应用合理配置内存
11 2
|
4天前
|
中间件 Python
中间件应用Django Middleware(Python)
中间件应用Django Middleware(Python)
31 6
|
4天前
|
JavaScript 中间件 API
中间件应用Express.js(Node.js)
我们定义了一个名为 `logger` 的中间件函数。它接受请求对象、响应对象以及下一个中间件函数作为参数。当接收到请求时,它会打印出请求的 HTTP 方法和 URL,然后调用 `next()` 函数来将控制权传递给下一个中间件或路由处理器。我们使用 `app.use()` 方法将 `logger` 中间件添加到了应用级别的中间件堆栈中,这意味着它将对所有请求生效。
12 3
|
5天前
|
缓存 监控 NoSQL
中间件应用性能优化
中间件应用性能优化
15 2