面向对象的原语(进程中的原语)

作为Java开发人员,我非常熟悉面向对象的概念,例如类,对象,继承,封装,多态性等。除了面向对象的概念之外,我还非常熟悉Java运行时。它提供的功能,如何调整它,如何管理应用程序,对象和整个应用程序的生命周期等等。

十多年来,所有这些都是我使用开发人员创建应用程序的主要工具,原语和构建块。 在我的思维模型中,我将使用类作为组件,这将产生由JVM管理的对象。 但是这种模式最近已经开始改变。

Kubernetes基本体(分布式基本体)

去年,我开始在Kubernetes上运行Java应用程序,这引入了新的概念和工具供我使用。 使用Kubernetes,我不仅仅依赖于面向对象的概念和JVM原语来实现整个应用程序行为。 我仍然需要使用面向对象的构建块来创建应用程序的组件,但是我也可以将Kubernetes原语用于某些应用程序行为。

例如,现在我努力将应用程序行为的单位组织到独立的容器映像中,这些映像成为主要的构建块。 这使我可以使用Kubernetes提供的一组新的丰富构造来实现应用程序行为。 例如,现在我不仅仅依赖ExecutorService的实现来定期运行某些服务,而且还可以使用Kubernetes CronJob原语定期运行我的容器。 Kubernetes CronJob将提供类似的时间行为,但使用更高级别的构造,并依赖调度程序进行动态放置,执行运行状况检查并在作业完成时关闭容器。 所有这些最终带来了更具弹性的执行力,同时还具有更好的资源利用率。 如果我想执行一些应用程序初始化逻辑,则可以使用对象构造函数,但也可以在Kubernetes中使用init-container进行更高级别的初始化。

分布式心理模型

具有面向对象概念和JVM功能形式的进程内原语,再加上Kubernetes提供的分布式进程外原语,为开发人员提供了更丰富的工具集,可用于创建更好的应用程序。 在构建分布式应用程序时,我的思维模式不再局限于JVM,而是分布在几个节点上,多个JVM协同运行。

进程内原语和分布式原语具有共同点,但不能直接比较和替换。 它们以不同的抽象级别运行,具有不同的前提条件和保证。 某些原语应该一起使用,例如,我们仍然必须使用类来创建对象并将它们放入容器图像中。 但是其他一些原语(例如Kubernetes中的CronJob)可以完全替代Java中的ExecutorService行为。 我在JVM和Kubernetes中找到了一些共同点,但这里不再赘述。

随着时间的流逝,新的原始方法催生了解决问题的新方法,其中一些重复的解决方案成为了模式。 查看我的进度
Kubernetes模式书就是这种思路。

翻译自: https://www.javacodegeeks.com/2017/04/new-distributed-primitives-developers.html

开发人员的新分布式基元相关推荐

  1. 运动基元_开发人员的新分布式基元

    运动基元 面向对象的基元(进程内基元) 作为Java开发人员,我非常熟悉面向对象的概念,例如类,对象,继承,封装,多态性等.除了面向对象的概念之外,我还非常熟悉Java运行时.它提供的功能,如何调整它 ...

  2. 面向.NET开发人员的Dapr——分布式世界

    面向.NET开发人员的Dapr--前言 The world is distributed 分布式世界 Just ask any 'cool kid': Modern, distributed syst ...

  3. 比特币现金生态:SLP开发人员发布新规则

    简单分类账协议(SimpleLedgerProtocol,SLP)已经成为比特币现金(BCH)生态系统中热门的智能合约技术,因为它让所有人都能够以无权限的方式发行和交易Token:从去年开始BCH链上 ...

  4. 帝国时代 游戏是如何开发的_开发人员是新的王国建设者

    帝国时代 游戏是如何开发的 斯蒂芬·奥格雷迪(Stephen O'Grady)的<新造王者> ( The New Kingmakers)是一本很棒的书,解释了为什么开发人员是企业最重要的资 ...

  5. 基于Windows Mobile 2003 的 Pocket PC 为开发人员提供的新功能(转)

    对于 Pocket PC 用户和开发人员来说,基于 Microsoft® Windows Mobile® 2003 的 Pocket PC 是一个非常重要的里程碑.Pocket PC 2003 基于新 ...

  6. 面向.NET开发人员的Dapr- actors 构建块

    原文地址:https://docs.microsoft.com/en-us/dotnet/architecture/dapr-for-net-developers/actors The actor m ...

  7. 面向.NET开发人员的Dapr——状态管理

    目录: 面向.NET开发人员的Dapr--前言 面向.NET开发人员的Dapr--分布式世界 面向.NET开发人员的Dapr--俯瞰Dapr 面向.NET开发人员的Dapr--入门 面向.NET开发人 ...

  8. 面向.NET开发人员的Dapr——发布和订阅

    目录: 面向.NET开发人员的Dapr--前言 面向.NET开发人员的Dapr--分布式世界 面向.NET开发人员的Dapr--俯瞰Dapr 面向.NET开发人员的Dapr--入门 面向.NET开发人 ...

  9. 面向.NET开发人员的Dapr——服务调用

    目录: 面向.NET开发人员的Dapr--前言 面向.NET开发人员的Dapr--分布式世界 面向.NET开发人员的Dapr--俯瞰Dapr 面向.NET开发人员的Dapr--入门 面向.NET开发人 ...

最新文章

  1. echarts中graphic_使用Pyecharts进行奥运会可视化分析!
  2. python pycurl_简单谈谈Python的pycurl模块_python
  3. BugKuCTF 加密 ok
  4. 对Spring IOC的理解(转)
  5. Hibernate各种主键生成策略与配置详解
  6. 将原生SQL功能休眠到您的Spring Data Repository中
  7. ftp服务器在线查看文件内容,ftp服务器PDF文件在线查看的实现方法
  8. 名词解释 JDK JRE JVM
  9. vue node php,vue node 是什么
  10. php读取剪贴板内容,js如何处理剪贴板的内容?js处理剪贴板的内容的方法
  11. PDF文件的书签批量自动导入和导出 PDFBookmark-Exchanger
  12. win7计算器左移、右移操作
  13. pytorch的安装--命令
  14. 2021-“新“的开源项目之handpose_x(手势识别交互)
  15. SEO黑帽技术 - 蜘蛛池原理
  16. POI操作excel基础用法详解
  17. 清华学生告诉你什么是清华!
  18. 如何用GraphPad Prism做统计?
  19. 学习单片机编程第一天——点亮一个LED灯
  20. Python入门习题(69)——OpenJudge百练习题:买房子

热门文章

  1. Spring 自动装配 ‘byType’
  2. 深入Synchronized和java.util.concurrent.locks.Lock的区别详解
  3. 关联分析:FP-Growth算法
  4. Spring入门(二)之下载与安装
  5. python3如何连接mysql数据库
  6. 学生自定义的键盘,功能强大齐全!!!
  7. Servlet使用适配器模式进行增删改查案例(IDeptService.java)
  8. 涨知识 | 100个中国最难读的地名,第一个就折了
  9. 四足爬行机器人运动_有自我意识机器人横空出世,还能自我复制,专家表示需警惕其失控...
  10. js 报错说此方法没定义 我明明定义了