何谓短缺和过剩

最近参加JavaZone时,我参加了Neal Ford的演讲。 坦白地说,这次演讲并不令人惊讶,他展示的许多工具要么过时,要么不是最好的,但他指出了一个非常重要的事实:应用服务器旨在通过共享资源来解决资源短缺的问题,在这个时代不再稀缺。

实际上,这完全符合我的经验。 还记得10年前我们必须提前6个月订购硬件吗? 当时,所有Web应用程序都部署在同一应用程序服务器上-并不总是群集的。 几年后,我注意到应用程序服务器的数量有所增加。 有些甚至需要集群,因为我们负担不起关闭服务的费用。 正是由于人们特定的负载配置文件,人们才开始考虑在哪个应用程序服务器上部署哪个应用程序。 在最近几年中,出现了一种新的行为:将单个Web应用程序部署到单个应用程序服务器,因为它被认为过于关键,以至于可能不受同一应用程序服务器上其他应用程序的影响。 有时这导致了针对每个应用程序执行此操作的实践,无论该应用程序是否关键。

如今,任何数量的硬件都可以立即使用,而无需支付任何费用:他们将其称为“云”。 那为什么我们仍在使用应用程序服务器? 我认为Spring框架背后的人们问了同样的问题,并提出了一个激进的答案:我们不需要它们。 当JavaEE(当时称为J2EE)仍然是一个big肿的标准,充斥着野蛮的首字母缩略词和在开发时遇到的真正痛苦时(记住EJB 2.0?),Spring一直是实用的开发。 。 Spring重视完全兼容的JavaEE服务器上的简单JSP / Servlet容器,现在由于不再需要任何外部应用程序服务器,它们最终跨越了Rubicon。

当我第一次听说这件事时,我感到非常惊讶,但是在微服务时代,我想这很有意义。 想象您刚刚完成了应用程序的开发。 无需创建WAR,EAR或通常执行的任何程序包,只需推送到Git存储库即可。 然后,挂钩将代码推送到服务器,停止现有应用程序,然后再次启动它。 那不仅会很有趣,而且真的很敏捷/开发/想要的任何酷概念吗? 我认为可以,这正是Spring Boot的一种部署。 这不是Spring Boot的唯一功能,它还提供了有关配置的实际约定,有用的Maven POM,开箱即用的度量标准和运行状况检查等等,但是嵌入Tomcat是最重要的一项(IMHO) 。

相反,诸如IBM,Oracle,甚至Red Hat之类的大商店仍然投入大量资金来开发其完全符合Java EE规范的应用服务器。 有趣的是,为了符合JavaEE,您必须实现“有趣的”功能,例如Java Connector Architecture ,这是我在职业生涯的早期仅连接一次CICS的一次。 有趣的是,Web Profile定义了一个轻量级标准,省略了JCA ...以及JavaMail。 但是,它采用了轻量级的方式。

现在,只有未来会告诉我们接下来会发生什么以及如何发生,但是我可以看到那里形成了一种趋势。

翻译自: https://blog.frankel.ch/on-resources-scarcity-application-servers-and-micro-services/

何谓短缺和过剩

何谓短缺和过剩_关于资源短缺,应用程序服务器和微服务相关推荐

  1. 认证服务器的搭建_SpringCloud搭建的认证中心和资源服务器的微服务项目源码分享...

    本项目基于spring-cloud-starter-oauth2搭建的认证中心和资源服务器的微服务项目,项目不仅仅简单的demo,项目的出发点在于实战应用.本项目为笔者花了不少时间和精力整理出来的,只 ...

  2. 云服务器_整体服务器与微服务

    云服务器 介绍 刚开始时,由于要求简单,所以应用程序既简单又小. 随着时间的要求和需求的增长,我们的应用程序变得越来越大,越来越复杂. 这导致了将单片服务器开发和部署为一个单元. 在某种程度上,微服务 ...

  3. springboot 搭建分布式_爱了!阿里巴巴内部出品“SpringBoot+微服务指南”,理论与实战...

    爱了爱了,Alibaba出品"Springboot+微服务架构指南",理论与实战结合,双管齐下! 有幸从一位朋友那里得到Alibaba内部出品强推的"SpringBoot ...

  4. python nameko用于生产_用 Python、 RabbitMQ 和 Nameko 实现微服务

    "微服务是一股新浪潮" - 现如今,将项目拆分成多个独立的.可扩展的服务是保障代码演变的最好选择.在 Python 的世界里,有个叫做 "Nameko" 的框架 ...

  5. 单体 soa 微服务 区别_漫谈何时从单体架构迁移到微服务?

    面对微服务如火如荼的发展,很多人都在了解,学习希望能在自己的项目中帮得上忙,当你对微服务的庐山真面目有所了解后,接下来就是说服自己了,到底如何评估微服务,什么时候使用微服务,什么时间点最合适,需要哪些 ...

  6. 游戏 服务器 微服务_整体服务器与微服务

    游戏 服务器 微服务 介绍 刚开始时,由于要求简单,所以应用程序既简单又小. 随着时间的要求和需求的增长,我们的应用程序变得越来越大,越来越复杂. 这就导致了将单片服务器开发和部署为一个单元. 在某种 ...

  7. 需要单机还是集群部署_单机、集群和分布式(微服务结构)的区别

    一.单机 单机就是所有的业务全部写在一个项目中,部署服务到一台服务器上,所有的请求业务都由这台服务器处理.显然,当业务增长到一定程度的时候,服务器的硬件会无法满足业务需求.自然而然地想到一个程序不行就 ...

  8. guns 最新开源框架企业版下载_国内比较火的5款Java微服务开源项目

    本文介绍国内比较火的5款Java微服务开源项目,pig是基于Spring Cloud.OAuth2.0.Vue的前后端分离的系统. 通用RBAC权限设计及其数据权限和分库分表 支持服务限流.动态路由. ...

  9. javaee 中文帮助文档_大牛耗时三天整理的:微服务+Nginx+Kubernetes实战文档和面试题...

    前言 十年之前,相信大家掌握了Java EE互联网轻量级框架整合开发 SSM框架SpringMVC+Spring+MyBatis就已经能够轻轻松松找到一份薪资很高的java开发工作了,而如今只会SSM ...

最新文章

  1. Understanding the Framework (理解FMS框架)
  2. [转]QT中QString与string的转化,解决中文乱码问题
  3. Android移动开发之【Android实战项目】剑走偏锋-得会导入别人的Android Studio项目!
  4. android 7.0 调用系统相机崩溃的解决方案(非谷歌官方推荐)
  5. IT趣闻:世界知名IT公司名字由来
  6. C语言多文件编程基本格式
  7. Java 处理表格,也很轻松
  8. 锦州师专高等专科学校计算机,《数据库原理与应用锦州师范高等专科学校计算机系》.ppt...
  9. Python Flask Web 第六课 —— 静态文件
  10. linux 配置mq队列,Apache ActiveMQ 消息队列安装与配置
  11. 关于AD7124的应用
  12. 请教有关网络管理的方法
  13. 法兰克焊接机器人编程入门_Fanuc ARC MATE 焊接机器人操作编程.pdf
  14. 三帧差分 matlab,三帧差分法
  15. mysql 索引必须唯一_唯一索引和普通索引的区别是什么,什么时候需要建唯一
  16. 南开大学2017年数学分析高等代数考研试题
  17. bug的严重程度级别,bug的定义
  18. Windows11关机键在哪 Win11系统关机键的位置
  19. web前端面试学习指南
  20. Direction Change

热门文章

  1. css绘制等边三角形
  2. 关于BCM61650IFB1G
  3. 这是我见过最牛逼的滑动加载前端框架
  4. node获取系统字体
  5. jenkins的administrator权限
  6. 解决IDEA : Could not autowire. No beans of ‘xxxx‘ type found
  7. Python 气象数据分析
  8. x64dbg 自动化控制插件
  9. 10 款免费 PDF 阅读器软件工具分享
  10. BGP-ISIS实验