架构设计基础设施保障IaaS弹性伸缩和无服务器计算 1

简介: 架构设计基础设施保障IaaS弹性伸缩和无服务器计算

1 高可用弹性伸缩实践

  1. 背景

弹性伸缩是云服务架构的重要优势,能够很好的解决高并发场景下的性能瓶颈, 同时节省运营成本。


在 IaaS 端,能够弹性伸缩的最实用的产品形态,一般是虚拟机编组。阿里云提供了弹性伸缩的功能。


要实现弹性伸缩服务, 还需要负载均衡器作为辅助组件,它可以将流量均匀地,或者按照一定权重或规则,分发到多台虚拟机上。

  1. 创建ECS实例

实例创建完成之后, 需要绑定弹性IP

如果没有弹性公网IP, 需要付费开通:

  1. 创建负载均衡SLB

根据实际场景, 选择对应的实例规格。

在实例管理里面,选择【点我开始配置】

协议监听配置:

这里配置的80端口, 可以根据需要, 在高级配置里面, 设置不同的调度算法: 加权轮询 (WRR)、加权最小连接数 (WLC)、轮询 (RR)、一致性哈希 (CH)。

接下来, 设定ECS服务的运行端口:

开启健康检查:

最后确认提交即可。

  1. 配置服务运行方式(服务部署方式)
  • 编写服务接口
    计算斐波那契数列:
public int fibonacci(int n){
  if(n==1||n==2){
flag[n]=1;
return 1;
  }
  else{
if(flag[n-1]!=0&&flag[n-2]!=0){
 flag[n]=(flag[n-1]+flag[n-2])%10007;
 return flag[n];
}
else
{
 flag[n]=(fibonacci(n-2) + fibonacci(n-1))%10007;
 return flag[n];
}
  }
 }
  • 打包上传服务
maven clean install
  • 设置开机启动
    创建开机脚本:
vi /usr/lib/systemd/system/elastic.service

添加以下内容:

[Unit]
Description=elasticservice
After=network.target remote-fs.target nss-lookup.target
[Service]
Type=simple
PIDFile=/run/elasticservice.pid
ExecStart=/usr/local/elasticstart.sh
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
ExecReload=
PrivateTmp=true
RemainAfterExit=yes
ExecStartPre=
[Install]
WantedBy=multi-user.target

创建elasticstart.sh脚本:

#!/bin/bash
nohup /usr/bin/java -jar /usr/local/app-basic.jar >/dev/null 2>&1 &

设置权限:

chmod 777 /usr/local/elasticstart.sh

设置开机启动:

systemctl enable elastic

启动服务:

systemctl restart elastic
  1. 测试验证(服务部署方式)

通过接口进行访问:

http://47.105.205.141/calcFib?num=123


  1. 配置服务运行程序(非服务部署方式)

进入ECS虚拟机, 创建配置一个Nodejs服务。

  • 配置NodeJS环境
    下载:
  wget https://nodejs.org/dist/v10.13.0/node-v10.13.0-linux-x64.tar.xz

解压:

tar -xvf node-v10.13.0-linux-x64.tar.xz

创建软链接:

ln -s /usr/local/node-v10.13.0-linux-x64/bin/node /usr/bin/node
ln -s /usr/local/node-v10.13.0-linux-x64/bin/npm /usr/bin/npm
  • 安装运行模块依赖
npm install express
npm install ip
npm install os
  • 创建server.js脚本:
vi  /usr/local/server.js :
const express = require('express');
const ip = require('ip');
const os = require('os');
const app = express();
//使用递归方式计算斐波那契数列
function fibo (n) {
 return n > 1 ? fibo(n-1) + fibo(n-2) : 1;
}
app.get('/', function(req,res) {res.write('I am healthy'); res.end();} );
app.get('/fibo/:n', function(req, res) {
 var n = parseInt(req.params['n']);
 var f = fibo(n);
 res.write(`Fibo(${n}) = ${f} \n`);
 res.write(`Server: ${os.hostname()} ,  private ip: ${ip.address()} \n`);
 res.end();
});
app.listen(80);
  • 运行程序
node server.js
  • 设置开机启动
    创建开机脚本:
vi /usr/lib/systemd/system/nodeapp.service

添加以下内容:

[Unit]
Description=nodeappservice
After=network.target remote-fs.target nss-lookup.target
[Service]
Type=simple
PIDFile=/run/nodeapp.pid
ExecStart=/bin/setsid /usr/bin/node /usr/local/server.js
Restart=/bin/pkill node && /bin/setsid /usr/bin/node /usr/local/server.js
ExecStop=/bin/pkill node
ExecReload=
PrivateTmp=true
RemainAfterExit=yes
ExecStartPre=
[Install]
WantedBy=multi-user.target

设置开机启动:

systemctl enable nodeapp


目录
相关文章
|
4月前
|
存储 机器学习/深度学习 弹性计算
阿里云服务器ECS计算型c9i规格族性能与特点、配置性能参数表
阿里云ECS计算型c9i实例基于Intel® Xeon® Granite Rapids处理器,主频3.2GHz,全核睿频3.6GHz,提供稳定高性能计算能力。支持NVMe协议、vTPM安全加密,适用于机器学习、大数据分析、高性能计算等场景,具备高安全、低延迟、强扩展等优势。
|
7月前
|
存储 机器学习/深度学习 数据库
阿里云服务器X86/ARM/GPU/裸金属/超算五大架构技术特点、场景适配参考
在云计算技术飞速发展的当下,云计算已经渗透到各个行业,成为企业数字化转型的关键驱动力。选择合适的云服务器架构对于提升业务效率、降低成本至关重要。阿里云提供了多样化的云服务器架构选择,包括X86计算、ARM计算、GPU/FPGA/ASIC、弹性裸金属服务器以及高性能计算等。本文将深入解析这些架构的特点、优势及适用场景,以供大家了解和选择参考。
1195 61
|
4月前
|
人工智能 编解码 安全
阿里云服务器计算型c7、c8a、c8y、c8i、c9i实例区别及选型指南参考
在阿里云的活动中,属于计算型实例的通常有计算型c7、计算型c8a、计算型c8y、计算型c8i和计算型c9i这几个实例规格,不同实例规格在处理器架构、存储技术、网络协议、安全特性等性能并不是一样的,所以他们的适用场景也有所差异。本文为大家介绍计算型c7、c8a、c8y、c8i、c9i实例的性能、适用场景的区别以及选择参考。
|
7月前
|
存储 机器学习/深度学习 网络协议
阿里云服务器计算型实例怎么选择?计算型c7、c8y 、c8i性能评测与选择参考
如果我们通过阿里云目前的活动选择计算型实例规格的云服务器,主要有计算型c7、计算型c8y和计算型c8i实例可选。本文将从实例规格、CPU与内存配置、计算性能、存储与网络能力,以及价格等多个维度,对比分析计算型c7、计算型c8y和计算型c8i实例,为用户提供全面的选择参考。
|
7月前
|
存储 机器学习/深度学习 安全
阿里云服务器计算型c8i与通用型g8i实例性能、适用场景及价格参考
阿里云不断推陈出新,致力于为用户提供高性能、高可靠性和高安全性的云服务器实例,以满足不同用户在各种复杂场景下的需求。其中,计算型c8i与通用型g8i实例凭借其卓越的性能和灵活的配置,成为了企业级用户的热门选择。本文将深入探讨这两款实例的性能特点、最新收费标准以及适用场景和活动价格情况,以供大家了解和选择。
|
9月前
|
存储 分布式计算 监控
阿里云服务器实例经济型e、通用算力型u1、计算型c8i、通用型g8i、内存型r8i详解与选择策略
在阿里云现在的活动中,可选的云服务器实例规格主要有经济型e、通用算力型u1、计算型c8i、通用型g8i、内存型r8i实例,虽然阿里云在活动中提供了多种不同规格的云服务器实例,以满足不同用户和应用场景的需求。但是有的用户并不清楚他们的性能如何,应该如何选择。本文将详细介绍阿里云服务器中的经济型e、通用算力型u1、计算型c8i、通用型g8i、内存型r8i实例的性能、适用场景及选择参考,帮助用户根据自身需求做出更加精准的选择。

热门文章

最新文章