什么是Serverless

  Serverless 是一个当今软件世界中比较新的话题。它并没有一个普遍公认的权威定义,每个人每个企业对它的解释可能都有不同,而 Serverless 正是在这种情况下不断发发展的。但是就算如此,有一些 Serverless 的特征还是被广泛认可的:

  • 服务端的主机和进程完全由供应商管理
  • 可以根据负载进行自动伸缩
  • 按照精确的使用情况来计费,就像水和电一样。(效用计算)

  引用掘金,原文地址:https://juejin.im/post/5c68fdbfe51d4539a569f259

 

Serverless演进

 

 

  在这个发展历程中有以下几个渐进的里程碑事件:

  • 通过虚拟化技术将大型物理机虚拟成单个的VM资源。
  • 将虚拟化集群搬到云计算平台上,只做简单运维。
  • 把每一个VM按照运行空间最小化的原则切分成更细的Docker容器。
  • 基于Docker容器构建不用管理任何运行环境、仅需编写核心代码的Serverless架构。

  引用阿里云,原文地址:

 

 

  2. 引用阿里云提供的函数计算组件Aliyun.Serverless.Core

  

 

  3. 按照函数计算的要求编写.Net Core的类与函数,这里用两个类与函数

  a. 打印执行日志

复制代码
    /// <summary>    /// 打印执行日志     /// </summary>    public class LogHandler     {         public void Handle(Stream input, IFcContext context)         {             ILogger logger = context.Logger;             logger.LogInformation($"Handle request: {context.RequestId}");         }     }
复制代码

 

  b. 打印服务器IP

复制代码
    /// <summary>    /// 打印服务器IP     /// </summary>    public class IpHandler     {         public void Handle(Stream input, IFcContext context)         {             ILogger logger = context.Logger;             var ipHostInfo = Dns.GetHostEntry(Dns.GetHostName());             logger.LogInformation($"Handle request: {context.RequestId}");              foreach (var ipAddress in ipHostInfo.AddressList)             {                 logger.LogInformation($"IP Address:{ipAddress}");             }         }     }
复制代码

 

  说明:

  

   详情可参考原文地址:

 

配置阿里云函数计算

  1.