by Adam Henson

亚当·汉森(Adam Henson)

快速了解Kubernetes微服务中的通信 (A quick look at communication in Kubernetes microservices)

“服务”概念和一个Node.js示例 (The “service” concept and a Node.js example)

Based on complexity, a layer of microservices can require a variety of communication. Kubernetes provides a rich set of features in managing services, load balancing, and networking.

基于复杂性,微服务层可能需要各种通信。 Kubernetes在管理服务,负载平衡和网络方面提供了丰富的功能。

This post is intended to provide a simple example. For an in-depth overview — see the official documentation about Services.

这篇文章旨在提供一个简单的示例。 有关深入的概述,请参阅有关服务的官方文档 。

服务 (Services)

A Kubernetes Service is an abstraction which defines a logical set of Pods and a policy by which to access them - sometimes called a micro-service. ~ Kubernetes Docs

甲Kubernetes Service是定义的一组逻辑的抽象Pods和通过该访问它们的策略-有时被称为微服务。 〜Kubernetes文件

As documented, we have a number of options in exposing and communicating with services. Let’s take a look at Kubernetes DNS. Details about DNS naming can be found here.

如记录所示,在服务公开和通信方面,我们有许多选择。 让我们看一下Kubernetes DNS。 有关DNS命名的详细信息,请参见此处 。

一个简单的例子 (A Simple Example)

Consider a set of microservices that need to communicate with each other through the HTTP protocol. As an example, let’s say we need to create a cron job to ping a health check endpoint from another pod and log the response status code.

考虑一组需要通过HTTP协议相互通信的微服务。 举例来说,假设我们需要创建一个cron作业,以从另一个Pod ping健康检查端点并记录响应状态代码。

We have a Node.js Express app.

我们有一个Node.js Express应用程序。

Fair enough, this app can receive HTTP GET requests to “/healthcheck” and respond with JSON.

公平地说,此应用程序可以接收HTTP GET请求以“ / healthcheck”并以JSON进行响应。

Okay, now let’s create a little cron job app to execute requests to this endpoint at 8:00am every day.

好的,现在让我们创建一个小型cron作业应用程序,以每天8:00 AM执行对此端点的请求。

Very good, very good… nothing out of the ordinary here. Well, wait a minute — let’s take a closer look at the line below which defines the endpoint to fetch.

很好,很好...这里没有什么与众不同的。 好吧,请稍等一下-让我们仔细看看下面的行,该行定义了要提取的端点。

const apiUrl = 'http://api:3000/healthcheck';

In utilizing Kubernetes DNS, communicating with other pods is that simple! Our service configuration for our first app above (the Express app) could be as simple as the below.

在利用Kubernetes DNS时,与其他Pod进行通信就这么简单! 我们上面第一个应用程序(Express应用程序)的服务配置可以像下面这样简单。

Our cron app could look very similar to the above. Configuring pods is out of scope of this post, but you can read about how you could do so utilizing Deployments.

我们的cron应用看起来可能与上面的非常相似。 配置pod超出了本文的范围,但是您可以阅读有关如何使用Deployments进行配置的信息 。

结论 (Conclusion)

Kubernetes offers a plethora of features and documentation supporting various means of communication internally and exposure to the outside world. We can get significant mileage simply from DNS.

Kubernetes提供了许多功能和文档,支持内部的各种通信方式以及与外界的接触。 我们可以简单地从DNS中获得可观的里程。

翻译自: https://www.freecodecamp.org/news/communication-in-kubernetes-microservices-bf0a2af06551/

快速了解Kubernetes微服务中的通信相关推荐

  1. 谷歌大神为你解释Kubernetes, 微服务和容器化

    来自谷歌云平台(Google Cloud Platform)的开发者布道师 Ray Tsang 和 Bret McGowen 在 SpringOne2GX 大会上分享了谷歌的 Kubernetes 的 ...

  2. 用户在电商网站中购买成功了,那么 TA 在微服务中经历了什么?

    题目:用户在电商网站中购买成功了,那么它在微服务中经历了什么? 当我傻啊,用户在电商网站购买成功,还在微服务中,那肯定就是有一套微服务架构的电商系统. 设计一套电商系统还不简单 简单想象一下,既然是一 ...

  3. Kubernetes 微服务监控体系

    作者|无敌码农 来源|无敌码农 监控系统是运维体系乃至整个软件产品生命周期中最重要的一环,完善的监控可以帮助我们事前及时发现故障,事后快速追查定位问题.而在以微服务为代表的云原生架构体系中,系统分为多 ...

  4. DeVOpS 实战:Kubernetes 微服务监控体系

    来源 | 无敌码农 责编 | 寇雪芹 头图 | 下载于视觉中国 监控系统是运维体系乃至整个软件产品生命周期中最重要的一环,完善的监控可以帮助我们事前及时发现故障,事后快速追查定位问题. 而在以微服务为 ...

  5. 微服务中的面向切面编程和更多模式

    目录 介绍 如何建立这篇文章? 在Java中使用代码(11 +,Spring boot 2.2 +,Spring Boot AOP,AspectJ) 在C#中使用代码(7,.NET MVC Core ...

  6. 创建微服务架构的步骤_如何快速搭建一个微服务架构?

    原标题:如何快速搭建一个微服务架构? 微服务火了很久,但网上很少有文章能做到成熟地将技术传播出来,同时完美地照顾"初入微服务领域人员",从 0 开始,采用通俗易懂的语言去讲解微服务 ...

  7. 魔鬼面试官:用户在电商网站中购买成功了,那么它在微服务中经历了什么?...

    点击上方"朱小厮的博客",选择"设为星标" 做积极的人,而不是积极废人 面试的时候,面试官问:用户在电商网站中购买成功了,那么它在微服务中经历了什么?你该如何作 ...

  8. 用户在电商网站中购买成功了,那么它在微服务中经历了什么(转)

    面试的时候,面试官问:用户在电商网站中购买成功了,那么它在微服务中经历了什么?你该如何作答? 来源:https://juejin.im/post/5cdfe4a16fb9a07ef63facc3 当我 ...

  9. 攻克微服务中的最大难点:用户数据

    今天 数人云与大家分享的文章将探讨微服务架构的创建与开发工作当中最为困难的部分--用户数据. 只有我们摆脱自己的依赖时微服务才能起作用,换言之,存在于单一数据库上的多任务进程并不是真正的微服务.使用S ...

最新文章

  1. C#(asp.net)对字符串的操作公共类(StringUtil.cs)
  2. [MFC] MFC编译程序,缺少MFC动态链接库的解决
  3. Java8新特性:接口的默认方法与接口的静态方法
  4. NLP之ASR:基于python和机器学习算法带你玩转的语音实时识别技术
  5. iis php cgi.exe 漏洞,IIS4\IIS5 CGI环境块伪造0day漏洞
  6. 专 linux命令之set x详解
  7. 在 Mac 上为 Android 编译 WebRTC
  8. Java中stringbutter_java中string与ButterString的区别
  9. 【linux】kill命令信号总结
  10. pkill mysql_MYSQL之mysqlcheck命令
  11. 倍加福编码器ENI58IL-H12BA5-1024UD1-RC5
  12. SQL循环算出移动加权平均
  13. MTK 6737 Flash配置
  14. 个人项目-网络电话呼叫客户端 (一)
  15. java实习经验与总结建议
  16. 网站性能优化— WebP 全方位介绍
  17. Java(老白再次入门) - IO流
  18. C# 委托,匿名方法,lambda表达式使用方法
  19. 利用MaxCompute部署股票交易策略
  20. 分享个“软件开发需求文档”

热门文章

  1. 使用Docsify搭建Markdown文件服务器
  2. ==和equals()的作用及区别
  3. PHP TP5框架 安装运行 Warning: require(E:\phpstudy_pro\WWW\TP5\tp5\public/../thinkphp/base.php): failed to
  4. React 循环渲染 5
  5. 通过loganalyzer展示数据库中的日志
  6. 记一次Sonar执行失败的修复
  7. Javascript - prototype、__proto__、constructor
  8. JavaScript系统对象
  9. 在Android中进行单元测试遇到的问题
  10. 主机入侵防御系统(HIPS)分析