关于云原生

  • Post author:
  • Post category:其他


本文为学习笔记,参考博客:

关于云原生,这是最详细的技术知识



本文涉及的内容

  1. 微服务
  2. 容器
  3. 无服务器

    以上三种技术的优缺点



微服务



微服务是什么?

  1. 定义:将程序的功能进行分离为多个独立的小型软件服务或“微服务”,为了 微服务协同工作以形可伸缩应用程序,他们之间进行通信和交互。
  2. 优点:克服了

    复杂性



    不灵活性



    易于持续交付

  3. 挑战:

    ① 硬件的高负荷:单体应用程序适用于中小负载,单个服务器中运行,连接到单个数据库。

    ② 仅限于一两种编程语言的不灵活性。此应用程序将能够在多个服务器之间进行扩展,这种做法称为水平扩展。



微服务的问题

  1. 严重依赖我服务的一个显著缺点是,随着数量和范围的扩大,他们可能会变的

    太复杂而无法长期管理



    解决方法:

    Docker避免污染主机环境并避免过度服务设计、Prometheus进行检测



云原生



云原生应用程序

云原生就是将应用程序设计为预期将部署在

分布式、可扩展的基础框架上


云原生应该使用

消息队列和容器、无服务器

等技术(容器和无服务器是现代软件架构的重要主题)。



容器

容器只是将一些软件

封装在隔离的用户空间或“容器”中

的想法。

使用容器,你可以将具有所需的所有配置、依赖关系和环境变量的微服务移动到新的服务器节点,而

无需重新配置环境

,实现强大的

可移植性


Kubernetes

是一个允许自动化容器部署、管理和扩展的工具。它是由谷歌建立的,以便管理容器(每周数十亿个)。Kubernetes提供了一些强大的功能,例如

容器之间的负载均衡、故障容器的重新启动以及容器使用的存储编排

。该项目和Prometheus都是云原生基础的一部分。

容器的复杂性:由于容器的数量庞大,要控制每个容器或微服务的部署位置以及运行情况比较复杂



无服务应用程序

理念:Faas的理念是用户可以请求远程运行的功能以执行_非常特定的任务。功能结束后,这些结果将返回给用户。不维护任何服务或有状态数据,并且用户将功能代码提供给运行该功能的服务。



版权声明:本文为NDSoumig原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。