架构设计基础设施保障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


目录
相关文章
|
1月前
|
算法 数据挖掘 调度
隐语实训营-第3讲:详解隐私计算框架的架构和技术要点
主要介绍隐语的隐私计算架构,并对每个模块进行拆解、分析,以期望不同使用者找到适合自己的模块,快速入手。
49 4
|
1月前
|
监控 Serverless
函数计算(FC)作为一种无服务器的计算服务,在使用过程中可能会遇到各种问题
函数计算(FC)作为一种无服务器的计算服务,在使用过程中可能会遇到各种问题
21 4
|
1月前
|
分布式计算 算法 调度
课3-详解隐私计算框架的架构和技术要点
隐语架构涵盖产品、算法、计算、资源和硬件五层,旨在实现互联互通和跨域管控。产品层包括SecretPad等,简化用户和集成商体验。算法层涉及PSI/PIR、SCQL和联邦学习,提供隐私保护的数据分析和学习。计算层如RayFed、SPU、HEU等,支持分布式计算和密态处理。资源层的KUSCIA用于跨机构任务编排,硬件层涉及FPGA等加速器。互联互通支持黑盒和白盒模式,确保不同平台协作。跨域管控则强调数据流转控制,保护数据权益。
|
1月前
|
中间件 编译器 调度
嵌入式软件架构基础设施设计方法
嵌入式软件架构基础设施设计方法
77 0
|
1月前
|
机器学习/深度学习 算法 安全
隐私计算训练营第三讲-详解隐私计算的架构和技术要点
SecretFlow 是一个隐私保护的统一框架,用于数据分析和机器学习,支持MPC、HE、TEE等隐私计算技术。它提供设备抽象、计算图表示和基于图的ML/DL能力,适应数据水平、垂直和混合分割场景。产品层包括SecretPad(快速体验核心能力)和SecretNote(开发工具)。算法层涉及PSI、PIR、数据分析和联邦学习(水平、垂直、混合)。此外,SecretFlow还有YACL密码库和Kusica任务调度框架,Kusica提供轻量化部署、跨域通信和统一API接口。
55 0
|
22天前
|
弹性计算 云计算 虚拟化
GPU云服务器_GPU云计算_异构计算_弹性计算-阿里云
阿里云提供多种GPU服务器,包括NVIDIA V100、T4、A10和A100计算卡,其中gn6i实例享有最高3折优惠。包年包月价格如:gn6v实例(16G V100)从4685.20元/月起,gn6i实例(16G T4)从1878.40元/月起。学生无特定GPU服务器优惠,但新用户有折扣活动。GPU服务器计费模式有包年包月和按小时计费,按需选择。详细价格及活动规则见官方链接。
10 0
GPU云服务器_GPU云计算_异构计算_弹性计算-阿里云
|
1月前
|
缓存 编解码 前端开发
2024年阿里云服务器经济型e、通用算力型u1及计算型、通用型实例适用场景参考
目前阿里云的活动中提供了多种云服务器实例规格,包括经济型e、通用算力型u1、计算型c7/a系列和通用型g7/a系列等,适用于不同场景。实例规格定义了CPU、内存等配置,影响计算和存储能力。本文主要为大家介绍了阿里云服务器的实例规格是什么,并汇总了阿里云轻量应用服务器和阿里云服务器e/u1/c7/c7a/c8a/c8y/g7/g7a/g8a/g8ae实例规格适用场景,以供参考。
2024年阿里云服务器经济型e、通用算力型u1及计算型、通用型实例适用场景参考
|
1月前
|
算法
隐私计算实训营 第1期-详解隐私计算框架的架构和技术要点
本文简要介绍了隐语技术架构的五层结构:产品层、算法层、计算层、资源层和硬件层。每层分别涉及模块功能、定位和人群画像,旨在使不同角色的用户能轻松理解和使用,降低隐私计算的入门难度。此外,隐语产品设计具有开放性和前瞻性,易于集成。
|
1月前
|
物联网 大数据 云计算
未来趋势:无服务器计算的崛起
随着云计算技术的发展,无服务器计算作为一种新兴的计算模式正逐渐受到关注。本文将探讨无服务器计算的定义、优势以及在后端开发中的应用,并展望其在未来的发展趋势。
|
1月前
|
存储 编解码 网络协议
阿里云服务器计算型c7、c7a、c8a、c8y实例区别参考
在阿里云目前的活动中,属于计算型实例规格的云服务器有计算型c7、计算型c7a、计算型c8a、计算型c8y这几个实例规格,相比于活动内的经济型e和通用算力型u1等实例规格来说,这些实例规格等性能更强,本文为大家介绍计算型c7、c7a、c8a、c8y实例区别及最新活动价格,以供参考。
阿里云服务器计算型c7、c7a、c8a、c8y实例区别参考