架构思路法

发布于:2025-03-21 ⋅ 阅读:(25) ⋅ 点赞:(0)

1. 登录CloudRaiser平台

1.步骤:

2.打开CloudRaiser平台网站。

3.输入您的用户名和密码进行登录。

4.登录后,您可能需要设置或选择项目名称,例如“API Web Application”。

2. 登录AWS控制台

5.步骤:

6.访问 AWS管理控制台。

7.输入您的AWS账户凭证进行登录。

3. 创建EC2实例

8.选择EC2服务:

9.在AWS控制台中,选择“EC2”服务。

10.启动实例:

11.点击“Launch Instance”按钮。

12.选择AMI:

13.在“Choose an Amazon Machine Image (AMI)”页面,选择“Amazon Linux 2 AMI (HVM), SSD Volume Type”。

14.选择实例类型:

15.选择t2.micro(适合免费套餐),然后点击“Next: Configure Instance Details”。

16.配置实例详细信息:

17.在“Configure Instance Details”页面,确保选择正确的VPC和子网,其他设置保持默认即可。

18.点击“Next: Add Storage”。

19.添加存储:

20.默认的8GB存储足够,点击“Next: Add Tags”。

21.添加标签:

22.点击“Add Tag”,输入以下内容:

23.Key: Name

24.Value: MyGoApp

25.点击“Next: Configure Security Group”。

26.配置安全组:

27.创建一个新的安全组,添加以下规则:

28.规则1:

29.类型: HTTP

30.协议: TCP

31.端口范围: 80

32.来源: 0.0.0.0/0

33.规则2:

34.类型: PostgreSQL

35.协议: TCP

36.端口范围: 5432

37.来源: 您的IP地址(或0.0.0.0/0,取决于安全性要求)

38.点击“Review and Launch”。

39.启动实例:

40.点击“Launch”按钮,选择或创建一个密钥对(.pem文件),然后点击“Launch Instances”。

41.记下实例的公共IP地址。

4. 创建PostgreSQL数据库

42.在AWS控制台中,选择“RDS”服务。

43.点击“Create database”。

44.选择数据库引擎:

45.选择“Standard Create”。

46.数据库引擎选择“PostgreSQL”。

47.配置数据库实例:

48.在“Templates”中选择“Dev/Test”。

49.DB instance identifier: unicorndb

50.Master username: unicorndb

51.Master password: unicorndb(请记住此密码)

52.选择实例类型:

53.选择db.t2.micro。

54.配置网络和安全:

55.在“Connectivity”部分,选择您的VPC和子网,确保“Public accessibility”设置为“YES”。

56.在“VPC security group”中,选择“Create new”并添加规则,允许来自EC2实例的流量。

57.点击“Create database”,等待数据库创建完成。

5. 创建数据库表

58.连接到RDS实例:

59.在您的本地终端或EC2实例上,使用psql工具连接到RDS实例:

   psql -h <RDS-endpoint> -U unicorndb -d unicorndb

(将<RDS-endpoint>替换为您的RDS实例的终端节点,您可以在RDS控制台中找到)

60.创建表:

61.连接成功后,输入以下SQL命令创建表:

   CREATE TABLE IF NOT EXISTS unicorntable (

       id SERIAL PRIMARY KEY,

       requestid VARCHAR(255),

       requestvalue VARCHAR(255),

       hits INT

   );

62.输入\q退出psql。

6. 配置server.ini文件

63.SSH连接到EC2实例:

   ssh -i <your-key-pair>.pem ec2-user@<your-ec2-public-ip>

(将<your-key-pair>替换为您的密钥对文件名,将<your-ec2-public-ip>替换为您的EC2实例的公共IP地址)

64.创建或编辑server.ini文件:

   nano server.ini

65.输入以下内容:

   "LogLocation"="./"

   "PgsqlHost"="<RDS-endpoint>"  # 替换为RDS实例的endpoint

   "PgsqlPort"="5432"

   "PgsqlUser"="unicorndb"

   "PgsqlPass"="unicorndb"

   "PgsqlDb"="unicorndb"

   "PgsqlTable"="unicorntable"

66.保存并退出编辑器:

67.在nano中,按CTRL + X,然后按Y确认保存。

7. 配置自动扩展

68.在AWS控制台中,选择“EC2”服务,点击“Auto Scaling Groups”。

69.点击“Create Auto Scaling group”。

70.选择启动配置:

71.选择之前创建的启动配置。

72.配置组的规模:

73.最小实例数: 1

74.最大实例数: 5

75.期望实例数: 2

76.设置扩展策略:

77.选择“Create a scaling policy”。

78.根据CPU使用率设置阈值,例如:

79.当CPU使用率超过70%时,增加实例数量。

80.当CPU使用率低于30%时,减少实例数量。

81.点击“Create Auto Scaling group”。

8. 部署Go应用程序

82.将Go二进制文件上传到EC2实例:

   scp -i <your-key-pair>.pem <your-go-binary> ec2-user@<your-ec2-public-ip>:~/

(将<your-go-binary>替换为您的Go二进制文件名)

83.SSH连接到EC2实例:

   ssh -i <your-key-pair>.pem ec2-user@<your-ec2-public-ip>

84.运行Go应用程序:

   chmod +x <your-go-binary>  # 赋予可执行权限

   ./<your-go-binary>          # 启动应用程序

9. 监控应用程序性能

85.在AWS控制台中,选择“CloudWatch”服务。

86.点击“Metrics”,然后选择“EC2”。

87.添加自定义仪表板,监控以下指标:

88.CPU使用率

89.内存使用率(需要安装CloudWatch Agent)

90.网络流量

91.设置警报以便在达到某些阈值时通知您。

10. 测试应用程序

92.使用Postman或curl发送请求到您的API:

   curl http://<your-ec2-public-ip>

(将<your-ec2-public-ip>替换为您的EC2实例的公共IP地址)

93.检查响应:

94.确保应用程序能够正常响应并记录请求。

11. 监控评分

95.定期检查“ScoreEvents”和“Scoreboard”以获取应用程序的评分情况。