全网最最最详细的haproxy详解!!!

news2024/11/24 18:55:26

1 什么是负载均衡

负载均衡(Load Balancing)是一种将网络请求或工作负载分散到多个服务器或计算机资源上的技术,以实现优化资源使用、提高系统吞吐量、增强数据冗余和故障容错能力、以及减少响应时间的目的。在分布式系统、云计算环境、Web服务等领域中,负载均衡是一项至关重要的技术。

负载均衡的基本原理是将进入系统的请求或数据流量按照一定的规则分配到后端的多个服务器或资源上进行处理。这些规则可以是基于请求的源IP地址、目标IP地址、端口号、协议类型、URL路径、请求内容等信息的,也可以是基于服务器当前的负载状况、响应时间、健康状况等动态信息的。

负载均衡器(Load Balancer)是实现负载均衡功能的硬件或软件设备。它可以是一个独立的物理设备,也可以是在服务器上运行的软件程序。负载均衡器负责接收来自客户端的请求,然后根据配置的负载均衡策略将请求转发给后端服务器集群中的一台或多台服务器进行处理。同时,负载均衡器还需要监控后端服务器的健康状况,确保只将请求转发给正常工作的服务器。

负载均衡可以带来以下好处:

  1. 提高系统吞吐量:通过并行处理请求,可以显著提高系统的处理能力,减少用户等待时间。
  2. 优化资源使用:根据服务器的实际负载情况动态分配请求,避免某些服务器过载而其他服务器空闲的情况。
  3. 增强数据冗余和故障容错能力:通过将数据分布在多个服务器上,可以提高数据的可用性和容错性,即使某些服务器出现故障,也不会影响整个系统的正常运行。
  4. 减少响应时间:通过减少单个服务器的负载,可以缩短请求的处理时间,提高用户体验。

常见的负载均衡算法包括轮询(Round Robin)、最少连接(Least Connections)、源地址哈希(Source Hashing)、加权轮询(Weighted Round Robin)等。这些算法各有优缺点,适用于不同的应用场景和需求。

在实际应用中,负载均衡通常与反向代理(Reverse Proxy)、内容分发网络(CDN)、微服务架构等技术结合使用,以提供更高效、可靠、可扩展的系统解决方案。

 2 haproxy简介

HAProxy(High Availability Proxy)是一款由法国人Willy Tarreau开发的高性能、开源的TCP和HTTP负载均衡器。它使用C语言编写,具备高并发处理能力和丰富的功能特性,广泛应用于各种需要高负载和高可用性的Web站点和应用程序中。以下是对HAProxy的详细介绍:

2.1 基本概述

  • 开发者:Willy Tarreau
  • 类型:高性能的TCP和HTTP负载均衡器
  • 特点:免费、快速、可靠
  • 主要功能:负载均衡、健康检查、会话保持、SSL/TLS支持、HTTP重写、压缩等

2.2 主要特性

  1. 高性能:HAProxy采用事件驱动模型,能够处理大量并发连接,支持数以万计的并发连接,特别适合高负载的Web站点。
  2. 灵活性强:支持多种负载均衡算法和调度策略,如轮询、最少连接、源地址哈希等,适应不同的应用场景。
  3. 高可用性:通过健康检查和故障转移机制,确保服务的连续性。当后端服务器出现故障时,HAProxy会自动将其从负载均衡池中移除,并在服务器恢复后重新添加。
  4. 丰富的功能:支持SSL终止、HTTP重写、压缩等多种功能,提升应用的性能和安全性。
  5. 易于集成:HAProxy可以简单地集成到现有的架构中,同时保护Web服务器不被直接暴露在网络上。

2.3 工作原理

HAProxy的工作流程主要包括以下几个步骤:

  1. 客户端请求:客户端发送请求到HAProxy的前端。
  2. 前端处理:前端根据配置的规则(如负载均衡算法、ACL规则等)选择合适的后端。
  3. 后端转发:前端将请求转发到选定的后端服务器进行处理。
  4. 服务器响应:后端服务器处理请求并返回结果给前端。
  5. 返回客户端:前端将处理结果返回给客户端。

2.4 负载均衡算法

HAProxy支持多种负载均衡算法,以满足不同的需求:

  • 轮询(Round Robin):将请求依次分配给每个后端服务器。
  • 最少连接(Least Connections):将请求分配给当前连接数最少的服务器。
  • 源地址哈希(Source Hashing):根据客户端的IP地址分配请求,确保同一客户端的请求总是分配到同一台服务器。
  • 加权轮询(Weighted Round Robin):根据服务器的权重分配请求,权重高的服务器分配更多的请求。

2.5 健康检查机制

为了确保请求只被分配到正常工作的服务器,HAProxy提供了健康检查机制。健康检查可以定期检测后端服务器的状态,并根据检测结果动态调整服务器的可用性。常见的健康检查类型包括TCP连接检查、HTTP请求检查等。

2.6 应用场景

HAProxy特别适用于那些负载特大的Web站点,这些站点通常又需要会话保持或七层处理。此外,HAProxy还可以用于数据库负载均衡、API网关、微服务架构中的服务发现与负载均衡等场景。

3 配置haproxy实验环境

搭建三个红帽9镜像的虚拟机并关闭防火墙

3.1 haproxy

配置IP 

3.2 webserver1

配置IP

安装nginx

3.3 webserver2

配置IP

安装nginx

4 haproxy的基本部署方法及负载均衡的实现

haproxy

安装haproxy

haproxy配置文件

4.1 配置文件结构

HAProxy的配置文件通常包含五个主要部分:

  1. global:参数是进程级的,通常是和操作系统相关。这些参数一般只设置一次,如果配置无误,就不需要再次进行修改。
  2. defaults:配置默认参数,这些参数可以被用到frontend、backend、listen组件。
  3. frontend:接收请求的前端虚拟节点,Frontend可以基于规则直接指定具体使用的后端backend。
  4. backend:后端服务集群的配置,是真实服务器,一个Backend对应一个或者多个实体服务器。
  5. listen:Frontend和backend的组合体。

4.2 关键配置项

1. global部分
  • 日志记录:定义日志记录的地址和级别,如log 127.0.0.1 local0 info
  • chroot:将进程的根目录更改为指定目录,提高安全性。
  • 用户和用户组:指定运行HAProxy的用户和用户组。
  • 最大连接数:设置HAProxy可以处理的最大连接数。
  • 其他系统级配置:如daemon使HAProxy在后台运行,stats socket定义统计信息的Unix套接字位置等。
2. defaults部分
  • 日志类型:如option httplog启用HTTP日志。
  • 连接配置:设置最大连接数、连接超时时间等。
  • 负载均衡算法:如balance roundrobin设置默认负载均衡方式为轮询。
  • 健康检查:配置健康检查的相关参数,如重试次数、检查间隔等。
3. frontend部分
  • 绑定地址和端口:定义HAProxy监听的地址和端口,如bind 0.0.0.0:80
  • 协议:设置处理请求的协议,如HTTP或TCP。
  • ACL和过滤器:配置访问控制列表(ACL)和过滤器,以决定如何处理请求。
4. backend部分
  • 服务器列表:定义后端服务器列表,包括服务器的IP地址、端口号、权重等。
  • 健康检查:配置对后端服务器的健康检查,确保只有健康的服务器才能接收请求。
5. listen部分
  • 组合配置:将frontend和backend的配置组合在一起,形成一个完整的监听器配置。

4.3 示例配置

以下是一个简单的haproxy配置示例:

 

4.4 注意事项

  • 在配置HAProxy时,需要根据实际的应用场景和需求来选择合适的配置参数。
  • 配置完成后,需要仔细检查配置文件是否有误,并测试HAProxy是否能够正常工作。
  • 在生产环境中,建议对HAProxy进行监控和日志记录,以便及时发现和解决问题。

5  haproxy的配置参数及日志分离

5.1 haproxy的配置参数

HAProxy的全局配置(global section)是其配置文件中的重要部分,它包含了影响HAProxy进程及其操作的全局性设置。这些参数通常是进程级别的,并且与操作系统相关。以下是对HAProxy全局配置的一些详细说明:

1. 进程管理及安全相关参数

  • chroot:将HAProxy的工作目录更改到指定的目录,并在放弃权限之前执行chroot()操作。这可以提升HAProxy的安全级别,但需要注意的是,指定的目录必须为空且任何用户都不能有写权限。
  • daemon:使HAProxy以守护进程的方式在后台运行。这等同于命令行中的"-D"选项。
  • gid 和 group:分别以指定的GID(组ID)或组名运行HAProxy。建议使用专为运行HAProxy创建的GID或组名,以减少权限风险。
  • log:定义全局的日志服务器和日志级别。可以指定最多两个日志服务器,并设置日志的级别(如info、warning、error等)。
  • nbproc:指定启动的HAProxy进程数。默认情况下,只启动一个进程。但在某些情况下,可能需要启动多个进程以提高性能或进行调试。
  • pidfile:指定HAProxy进程的PID文件位置,该文件包含HAProxy主进程的进程ID。
  • uid 和 user:分别以指定的UID(用户ID)或用户名运行HAProxy。

2. 性能调整相关参数

  • maxconn:设置每个HAProxy进程所能接受的最大并发连接数。这是一个重要的性能参数,需要根据服务器的实际负载进行调整。
  • ulimit-n:设置每个HAProxy进程可以打开的最大文件描述符数。默认情况下,HAProxy会自动计算这个值,但在某些情况下,可能需要手动调整以优化性能。

3. 超时时长相关参数

  • timeout connect:定义HAProxy将客户端请求转发到后端服务器所等待的超时时长。
  • timeout client:客户端非活动状态的超时时长。
  • timeout server:客户端与服务器端建立连接后,等待服务器响应的超时时长。
  • timeout http-keep-alive:定义HTTP持久连接的超时时长。
  • timeout check:健康检查时的超时时长。

4. 调试相关参数

  • debug:启用调试模式,提供更详细的日志信息。这通常只在调试过程中使用,不建议在生产环境中启用。
  • quiet:减少日志信息的输出量,使日志更加简洁。

5. 其他参数

  • stats socket:定义一个UNIX域套接字,用于通过命令行工具(如socat)与HAProxy进行交互,获取实时统计信息。
  • node:定义节点的名称,这在HA场景中特别有用,当多个HAProxy进程共享同一个IP地址时。

5.2 haproxy的日志分离

打开配置日志文件

在配置文件里打开UDP协议

配置haproxy日志位置

6 proxies中的常用配置参数

6.1 前端配置(frontend)

  • bind:定义前端监听的地址和端口,例如bind 0.0.0.0:80
  • mode:设置前端运行的协议(tcp或http)。
  • option httplog:启用http日志(如果前端处理的是HTTP请求)。
  • acl:定义访问控制列表(ACL),用于根据特定条件路由请求,例如acl php_web path_end .php
  • use_backend:根据ACL的匹配结果,将请求转发到指定的后端服务器组,例如use_backend php_server if php_web

6.2 后端配置(backend)

  • mode:设置后端运行的协议(tcp或http)。
  • balance:定义后端服务器的负载均衡算法,如轮询(roundrobin)、最少连接(leastconn)等。
  • server:定义后端服务器的地址、端口和其他参数,例如server web1 192.168.1.1:80 check
  • option httpchk:开启对后端服务器的健康检查,通常通过HTTP请求完成,例如option httpchk GET /index.html

6.3 监听配置(listen)

  • bind:定义监听的地址和端口,与frontend中的bind类似。
  • mode:设置监听的协议(tcp或http)。
  • stats:配置监控页面的相关参数,如启用监控、设置监控页面的URL和刷新间隔等。

6.4 server配置

6.4.1 基本参数

  • name:为此服务器指定一个标识名称,这个名称将出现在日志文件中,用于区分不同的后端服务器。
  • address:填写后端服务器的IP地址,也支持使用可解析的主机名称。
  • port:指定将连接发往后端服务器的目标端口,如果未设定,则通常使用客户端请求的端口。

6.4.2 健康检查参数

  • check:启用对此服务器的TCP健康状态检查。默认情况下,HAProxy会尝试连接到后端服务器的指定端口来检查其可用性。
  • inter:设置健康状态检查的时间间隔(单位为毫秒),默认为2000毫秒。
  • rise:设置后端服务器从离线状态转换为正常状态需要成功检查的次数。
  • fall:设置后端服务器从正常状态转换为不可用状态需要检查的失败次数。

6.4.3 其他参数

  • backup:将此服务器设置为备用服务器。在负载均衡场景中,当所有正常服务器均不可用时,此备用服务器将顶替提供服务。
  • maxconn:指定此服务器接受的最大并发连接数。这有助于防止单个服务器过载,影响整体服务的稳定性。

7 haproxy热更新方法

7.1 安装socat

7.2 查看haproxy帮助

7.3 查看haproxy状态

7.4 更改权重

7.5 查看servers状态

7.6 关闭一台主机

7.7 打开一台主机

7.8 haproxy多进程热处理

在配置文件里

 

8 haproxy中的算法

8.1 静态算法

8.1.1 static-rr

不支持运行时利用socat进行权重的动态调整(只支持0和1,不支持其它值)
不支持端服务器慢启动
其后端主机数量没有限制,相当于LVS中的 wrr

8.1.2 first

根据服务器在列表中的位置,自上而下进行调度
其只会当第一台服务器的连接数达到上限,新请求才会分配给下一台服务
其会忽略服务器的权重设置
不支持用socat进行动态修改权重,可以设置0和1,可以设置其它值但无效

8.2 动态算法

8.2.1 roundrobin

1.基于权重的轮询动态调度算法

2.支持权重的运行时调整,不同于Ivs中的rr轮训模式

3.HAProxy中的roundrobin支持慢启动(新加的服务器会逐渐增加转发数

4.其每个后端backend中最多支持4095个real server
5.支持对real server权重动态调整
6.roundrobin为默认调度算法,此算法使用广泛

8.2.2 leastconn

leastconn加权的最少连接的动态
支持权重的运行时调整和慢启动,即:根据当前连接最少的后端服务器而非权重进行优先调度(新客户端连接)
比较适合长连接的场景使用,比如:MySQL等场景。

8.3 其他算法

8.3.1 source

8.3.1.1 一致性hash

一致性哈希,当服务器的总权重发生变化时,对调度结果影响是局部的,不会引起大的变动hash(o)mod n
该hash算法是动态的,支持使用 socat等工具进行在线权重调整,支持慢启动

8.3.2 uri

基于对用户请求的URI的左半部分或整个uri做hash,再将hash结果对总权重进行取模后根据最终结果将请求转发到后端指定服务器
适用于后端是缓存服务器场景
默认是静态算法,也可以通过hash-type指定map-based和consistent,来定义使用取模法还是一致性hash

8.3.3 url_param 

url_param对用户请求的ur中的 params 部分中的一个参数key对应的value值作hash计算,并由服务器总权重相除以后派发至某挑出的服务器,后端搜索同一个数据会被调度到同一个服务器,多用与电商
通常用于追踪用户,以确保来自同一个用户的请求始终发往同一个realserver如果无没key,将按roundrobin算法

8.3.4 hdr

url_param对用户请求的ur中的 params 部分中的一个参数key对应的value值作hash计算,并由服务器总权重相除以后派发至某挑出的服务器,后端搜索同一个数据会被调度到同一个服务器,多用与电商,通常用于追踪用户,以确保来自同一个用户的请求始终发往同一个realserver如果无没key,将按roundrobin算法

9 haproxy的状态页面监控

9.1 在配置文件中编辑状态页

9.2 测试

10 基于cookie的会话保持

10.1 配置

10.2 测试

11 ip透传技术

11.1 七层穿透 

11.1.1 关闭nginx并下载httpd

11.1.2 测试页面

11.1.3 打开httpd

11.1.4 在配置文件中编辑

11.1.5 测试

11.2 四层穿透

11.2.1 在配置文件中编辑

11.2.2 在webserver2的nginx配置文件编辑

12 haproxy的访问控制列表

解析

 

12.1 ACL-name名称

12.1.1  在配置文件中编辑

12.1.2 测试 

12.2 ACL-criterion匹配规范

12.2.1 hdr_end()

12.2.1.1  在配置文件中编辑

12.2.1.2 测试

12.2.2 hdr_beg()

12.2.2.1  在配置文件中编辑

12.2.2.2 测试

12.2.3 base_sub()

12.2.3.1 在配置文件中编辑

12.2.3.2 测试

12.2.4 base_reg()

12.2.4.1 在配置文件中编辑

12.2.4.2 测试

12.2.5 path_sub()

12.2.5.1 在配置文件中编辑

12.2.5.2 测试

13 利用acl做动静分离等访问控制

13.1 基于域名

13.1.1 在配置文件中编辑

13.1.2 测试

13.2 基于网段

13.2.1 在配置文件中编辑

 13.2.2 测试

13.2.2 在配置文件中编辑

13.2.4 测试

13.3 基于浏览器 

13.3.1 在配置文件中编辑

13.3.2 测试

13.4 动静分离

13.4.1 静态分离

13.4.1.1 打开配置文件

13.4.1.2 在配置文件中编辑

13.4.1.3 测试

13.4.2 动态分离

13.4.2.1 在配置文件中编辑

13.4.2.2 测试

14 自动义错误页面内容

14.1 创建文件

14.2 在文件里编辑 

14.2 在配置文件中编辑

14.3 测试

14.4 定向到百度

14.4.1 在配置文件中编辑

14.4.2 测试

15 hapoxy的四层负载示例

15.1 webserver1

安装数据库

15.2 webserver2

与webserver1一样

15.3 haproxy安装数据库

15.4 webserver1和webserver2都做用户密码

15.5 在配置文件里编辑

15.6 测试

16 https的加密访问

16.1 可视

16.1.1 创建目录并设置证书

16.1.2 在配置文件里编辑

16.1.3 测试

16.2 全站加密

16.2.1 在配置文件里编辑

16.2.2 创建webcluster.cfg文件并配置

16.2.3 测试

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2036144.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

day28-lsync服务+scp命令

假设nfs服务器挂了,就要走backup服务器也部署nfs 这种情况下,rsync和nfs要用到同一个文件夹, 所以他俩管理文件夹权限必须一样 1. lsyncrsyncnfs rsync服务 10.0.0.41 1.安装rsync [rootbackup:~]#yum -y install rsync 2.配置rsync[root…

在Notebook中使用backtrader绘图出现 Javascript Error: IPython is not defined

01背景说明 首先,说明一下背景。我的电脑在2024年6月时使用backtrader进行cerebro.plot()是没有问题的,图能够在Notebook中正常显示,没有错误提示。 2024年7月下旬,连续学习和试用了好几个AI工具后,我鬼使神差点了No…

【实现100个unity特效之20】用unity实现物品悬浮和发光像素粒子特效

最终效果 文章目录 最终效果新增飞升粒子效果光圈效果修改不同颜色完结 新增飞升粒子效果 效果 光圈效果 效果 修改不同颜色 完结 赠人玫瑰,手有余香!如果文章内容对你有所帮助,请不要吝啬你的点赞评论和关注,你的每一次支持…

Linux硬件-raid(软件版)

作者介绍:简历上没有一个精通的运维工程师。希望大家多多关注作者,下面的思维导图也是预计更新的内容和当前进度(不定时更新)。 RAID 在一般的品牌服务器里面基本上都有一个叫阵列卡的硬件,硬盘先连接到阵列卡上面,然后阵列卡再连…

【JavaEE初阶】文件操作和IO

目录 🌴认识文件 🚩树型结构组织和目录 🚩文件路径(Path) 🚩 文件分类 🎍Java 中操作文件 🚩 File 概述: 📌属性 📌构造方法 &#x1f4c…

【解压即玩】电脑端CoinOps整合222G,带遮罩和滤镜,复古拉满

这是另外一种风格的整合包,你可以认为是皮肤: 每选择一个游戏,游戏光碟的封面都会变大,非常的漂亮。 玩起来时游戏界面和另外一种是一样的: 解压即玩。 立即下载:【chumenx.com】【解压即玩】电脑端CoinO…

C的温故而知新:文件输入/输出(C Primer Plus第十三章)

第十三章:文件输入/输出 编写程序,对文件的操作是肯定会遇到的,无论是使用那种语言,都可能会遇到这样类似的需求,因为系统的目的是为人们日常生产生活提供便利,难免会遇到文件的使用。在这一章&#xff0c…

extern关键字及c++中(隐式类型转换时)的引用

int i 0; double db i;//隐式类型转换 const double& rd i; const float rf i;

Ubuntu视频工具

1. VLC VLC Media Player(VLC多媒体播放器),最初命名为VideoLAN客户端,是VideoLAN品牌产品,是VideoLAN计划的多媒体播放器。它支持众多音频与视频解码器及文件格式,并支持DVD影音光盘,VCD影音光…

【吊打面试官系列-Elasticsearch面试题】对于 GC 方面,在使用 Elasticsearch 时要注意什么?

大家好,我是锋哥。今天分享关于 【对于 GC 方面,在使用 Elasticsearch 时要注意什么?】面试题,希望对大家有帮助; 对于 GC 方面,在使用 Elasticsearch 时要注意什么? 1、SEE 2、倒排词典的索引需…

IP地址与DNS的关系

IP地址和DNS是网络架构中的重要组成部分。IP地址是计算机网络中用于标识设备的唯一地址,而DNS则是负责将域名解析为IP地址的系统。记下来将讲述DNS的构成与IP地址的共同协作。 DNS的构成与工作原理 DNS是互联网的核心服务之一,其主要功能是将输入的域名…

【论文泛读】ZKML: An Optimizing System for ML Inference in Zero-Knowledge Proofs

文章目录 介绍主要工作实验数据实验数据1实验数据2实验数据3 介绍 这篇文章发在EuroSys2024,EuroSys是CCFA顶会。作者是来自MIT,伯克利等高校。文章对GPT-2大语言模型实现了零知识可验证执行,但不涉及零知识可验证训练。文章采用Halo2的方案…

LVS的12种调度算法详解

1.lvs调度算法类型 1.1静态方法 仅根据算法本身进行调度,不考虑RS的负载情况 1.2动态方法 主要根据每RS当前的负载状态及调度算法进行调度Overheadvalue较小的RS将被调度 1.1lvs静态调度算法 1.1.1RR(轮询算法): roundrobin 轮…

Linuxu-引导过程与服务控制

系列文章目录 提示:仅用于个人学习,进行查漏补缺使用。 1.Linux介绍、目录结构、文件基本属性、Shell 2.Linux常用命令 3.Linux文件管理 4.Linux 命令安装(rpm、install) 5.Linux账号管理 6.Linux文件/目录权限管理 7.Linux磁盘管理/文件系统 8.Linu…

阿里云Serverless 框架产品体验

阿里云Serverless 框架产品体验 首先,极简!Serverless 框架的基本概念Serverless 框架的主要特点Serverless 框架的应用场景阿里云Serverless框架的优势部署过程中的问题竞争力与推荐度云产品体验未来展望 首先,极简! 一键部署过…

嵌入式day26

进程创建好之后: 1.任务 --- 子进程做的事情和父进程差不多 //子承父业 多任务 2.shell 程序 ---bash 父进程创建出子进程之后,子进程做的事情与父进程完全不同 //自力更生 //进程运行时,典型的应用场景 exec int exec l(const char *pa…

QtExa001自动包装流水线的框架设计vs2019QT

QtExa001自动包装流水线的框架设计 工程代码: https://download.csdn.net/download/txwtech/89636815https://download.csdn.net/download/txwtech/89636815 主界面: 设置:进行参数配置,保存ini文件 调试:tcp/ip&…

SLAM相关数据集下载地址

参考1: SLAM公开数据集_suland数据集下载-CSDN博客 https://www.codetd.com/article/11675863 (重庆大学, 机器人与智慧系统实验室 (Robot Intelligence System-LAB)) SLAM 14讲 单目稠密重建的数据集 ch13 用于单目稠密重建的数据集, remode_test_da…

解决中国式报表难题,这款工具真的免费且好用

一、概述 报表,对于任何企业或组织来说都不陌生。它将复杂的数据信息以简洁明了的方式展现出来,帮助决策者快速理解数据背后的趋势和问题。无论是财务报表、销售报表,还是库存报表,都是日常工作中不可或缺的部分。然而&#xff0…

ISO 26262中的失效率计算:IEC 61709-Clause 6_Integrated semiconductor circuits

目录 概要 1 元器件分类和基准温度 2 Digital CMOS and bipolar analog ICs 失效率的计算 2.1 失效率预测模型 2.2 电压应力系数 2.2.1 电压应力系数计算模型 2.2.2 电压应力系数计算 2.3 温度应力系数 2.3.1 温度应力系数计算模型 2.3.2 温度应力系数计算 3 Other …