官术网_书友最值得收藏!

Working with Independent Objects

The traditional way of writing and changing software has led to Continuous Deployment, a principle of automating the pipeline between writing source code and deploying the production artifact in a live environment, with a goal of reducing the time taken for changes to flow through the pipeline while maintaining a high level of quality.

Environments such as Pharohttps://pharo.org/, SqueakJS (https://squeak.js.org/run/#url=https://freudenbergs.de/bert/squeakjs&zip=[Squeak5.0-15113.zip,SqueakV50.sources.zip], or even in their limited ways Swift Playgroundshttps://www.apple.com/swift/playgrounds/ and Project Jupyterhttps://jupyter.org/ show that this pipeline can be zero length, and that software can be written directly in the environment it is intended for. The result of a test failure does not need to be a log file served by Jenkins that must be pored over so a fix can be hypothesized in “l(fā)ocal dev”, it can be an opportunity to correct the program running in the live environment and continue (or, at worst, restart) the operation that failed.

This liveness property is not restricted to Smalltalk-like environments or REPLs. Consider the Mach microkernel operating system; any server that is registered to the name server (or, in the case of the HURD, as a translator on the filesystem) is a “l(fā)ive object” that can receive messages from the rest of the system and participate in its behavior. They are also tasks that can be inspected, debugged, changed, restarted, or replaced.

A server application composed of microservices presents similar properties. The “objects” (the running instances of the services) find each other by URL: whatever service is configured to receive HTTP requests at a given route “responds” to the “messages”. Each of these services can be independently inspected, debugged, edited, or replaced.

主站蜘蛛池模板: 伊春市| 平远县| 绵竹市| 原阳县| 宿松县| 历史| 蓬溪县| 莆田市| 巴彦淖尔市| 依兰县| 西吉县| 古丈县| 鸡东县| 措勤县| 绥化市| 民县| 锡林郭勒盟| 宁南县| 岳西县| 江北区| 乌海市| 新建县| 航空| 许昌市| 大新县| 丘北县| 克什克腾旗| 来凤县| 岐山县| 迁安市| 盱眙县| 宜兴市| 云和县| 连云港市| 杭州市| 阿尔山市| 望江县| 湖南省| 原阳县| 图们市| 新沂市|