开发人员的新分布式基元
面向对象的原语(进程中的原语)
作为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
开发人员的新分布式基元相关推荐
- 运动基元_开发人员的新分布式基元
运动基元 面向对象的基元(进程内基元) 作为Java开发人员,我非常熟悉面向对象的概念,例如类,对象,继承,封装,多态性等.除了面向对象的概念之外,我还非常熟悉Java运行时.它提供的功能,如何调整它 ...
- 面向.NET开发人员的Dapr——分布式世界
面向.NET开发人员的Dapr--前言 The world is distributed 分布式世界 Just ask any 'cool kid': Modern, distributed syst ...
- 比特币现金生态:SLP开发人员发布新规则
简单分类账协议(SimpleLedgerProtocol,SLP)已经成为比特币现金(BCH)生态系统中热门的智能合约技术,因为它让所有人都能够以无权限的方式发行和交易Token:从去年开始BCH链上 ...
- 帝国时代 游戏是如何开发的_开发人员是新的王国建设者
帝国时代 游戏是如何开发的 斯蒂芬·奥格雷迪(Stephen O'Grady)的<新造王者> ( The New Kingmakers)是一本很棒的书,解释了为什么开发人员是企业最重要的资 ...
- 基于Windows Mobile 2003 的 Pocket PC 为开发人员提供的新功能(转)
对于 Pocket PC 用户和开发人员来说,基于 Microsoft® Windows Mobile® 2003 的 Pocket PC 是一个非常重要的里程碑.Pocket PC 2003 基于新 ...
- 面向.NET开发人员的Dapr- actors 构建块
原文地址:https://docs.microsoft.com/en-us/dotnet/architecture/dapr-for-net-developers/actors The actor m ...
- 面向.NET开发人员的Dapr——状态管理
目录: 面向.NET开发人员的Dapr--前言 面向.NET开发人员的Dapr--分布式世界 面向.NET开发人员的Dapr--俯瞰Dapr 面向.NET开发人员的Dapr--入门 面向.NET开发人 ...
- 面向.NET开发人员的Dapr——发布和订阅
目录: 面向.NET开发人员的Dapr--前言 面向.NET开发人员的Dapr--分布式世界 面向.NET开发人员的Dapr--俯瞰Dapr 面向.NET开发人员的Dapr--入门 面向.NET开发人 ...
- 面向.NET开发人员的Dapr——服务调用
目录: 面向.NET开发人员的Dapr--前言 面向.NET开发人员的Dapr--分布式世界 面向.NET开发人员的Dapr--俯瞰Dapr 面向.NET开发人员的Dapr--入门 面向.NET开发人 ...
最新文章
- echarts中graphic_使用Pyecharts进行奥运会可视化分析!
- python pycurl_简单谈谈Python的pycurl模块_python
- BugKuCTF 加密 ok
- 对Spring IOC的理解(转)
- Hibernate各种主键生成策略与配置详解
- 将原生SQL功能休眠到您的Spring Data Repository中
- ftp服务器在线查看文件内容,ftp服务器PDF文件在线查看的实现方法
- 名词解释 JDK JRE JVM
- vue node php,vue node 是什么
- php读取剪贴板内容,js如何处理剪贴板的内容?js处理剪贴板的内容的方法
- PDF文件的书签批量自动导入和导出 PDFBookmark-Exchanger
- win7计算器左移、右移操作
- pytorch的安装--命令
- 2021-“新“的开源项目之handpose_x(手势识别交互)
- SEO黑帽技术 - 蜘蛛池原理
- POI操作excel基础用法详解
- 清华学生告诉你什么是清华!
- 如何用GraphPad Prism做统计?
- 学习单片机编程第一天——点亮一个LED灯
- Python入门习题(69)——OpenJudge百练习题:买房子
热门文章
- Spring 自动装配 ‘byType’
- 深入Synchronized和java.util.concurrent.locks.Lock的区别详解
- 关联分析:FP-Growth算法
- Spring入门(二)之下载与安装
- python3如何连接mysql数据库
- 学生自定义的键盘,功能强大齐全!!!
- Servlet使用适配器模式进行增删改查案例(IDeptService.java)
- 涨知识 | 100个中国最难读的地名,第一个就折了
- 四足爬行机器人运动_有自我意识机器人横空出世,还能自我复制,专家表示需警惕其失控...
- js 报错说此方法没定义 我明明定义了