gydtep
发表于 2021-2-25 16:57:46
发布阶段,将构建的结果和当前部署所需配置相结合,并能够立刻在运行环境中投入使用。
运行阶段(“运行时”),针对选定的发布版本,在执行环境中启动一系列应用程序进程。
gydtep
发表于 2021-2-26 07:48:10
云原生应用架构的目标是构建松耦合、具备弹性、韧性的分布式应用软件架构,可以更好地应对业务需求的变化和发展,保障系统稳定性。本文将分享我在这个领域的观察和思考。
gydtep
发表于 2021-2-26 08:02:09
2012 年,Heroku 创始人 Adam Wiggins 发布十二要素应用宣言。它为构建一个优雅的互联网应用,定义了需要遵循的一些基本原则和方法论,也广泛影响了众多的微服务应用架构。十二要素重点关注:应用程序的健康成长,开发者之间的有效的协作,以及避免软件架构腐化的影响。其内容在今天也值得每个同学认真体会。
gydtep
发表于 2021-2-26 12:11:31
事件驱动架构的另一个重要优点是提升了系统的可伸缩性。事件生产者在等待事件消费时不会被阻塞,并且可以采用 Pub/Sub 方式,让多个消费者并行处理事件。
gydtep
发表于 2021-2-26 15:11:40
在 Kubernetes 中,业务应用可以提供一个 liveness 探针,可以通过 TCP、HTTP 或者命令行方式对应用就绪进行检测。对于 HTTP 类型探针,Kubernetes 会定时访问该地址,如果该地址的返回码不在 200 到 400 之间,则认为该容器不健康,会杀死该容器重建新的容器;
gydtep
发表于 2021-2-26 15:22:00
对于启动缓慢的应用,为了避免在应用启动完成之前将流量导入。Kubernetes 支持业务容器提供一个 readiness 探针,对于 HTTP 类型探针,Kubernetes 会时访问该地址,如果该地址的返回码不在 200 到 400 之间,则认为该容器无法对外提供服务,不会把请求调度到该容器;
gydtep
发表于 2021-2-26 15:41:06
Logging – 日志(事件流):用于记录离散的事件,包含程序执行到某一点或某一阶段的详细信息。不但包括应用、 OS 执行过程的日志,还应包含运维过程中的日志信息,如操作审计等。
gydtep
发表于 2021-2-26 16:08:04
Tracing – 链路追踪 - 记录单个请求的完整处理流程,可以为分布式应用的开发者提供了完整的调用链路还原、调用请求量统计、应用依赖分析等能力,能够帮助开发者快速分析和诊断分布式应用架构下的性能和稳定性瓶颈。
gydtep
发表于 2021-2-27 09:09:09
实现绑定:由于微服务框架代码库通常由特定语言实现,难以支持多语言(polyglot)实现。随着业务的快速发展,异构系统之间的集成逐渐成为挑战。
gydtep
发表于 2021-2-27 09:41:02
oogle、IBM、Lyft 主导发起的 Istio 项目就是服务网格架构的一个典型的实现,也成为了新的现象级“网红”项目。