- 博客(139)
- 收藏
- 关注
原创 postgres+timescaledb--离线安装,centos7.9
在这一步之前我是安装了libicud的,不过用的是libicu-50.2-4.el7_7.x86_64.rpm包,可能不需要上面这步,可以试试看。修改pg_hba.conf 添加远程访问的认证方式,未尾添加 host all all 0.0.0.0/0 md5。这里需要注意的是安装zlib-devel库需要zlib库,但是系统之前就已经安装了zlib,需要先看看它的版本。包,安装postgresql15-15.8-1PGDG.rhel7.x86_64.rpm需要。编辑postgresql.conf。
2024-11-12 18:12:09
1076
原创 数据库常见概念
PostgreSQL 支持联合索引和聚簇索引,联合索引可以加速多列条件的查询,而聚簇索引控制数据在磁盘上的排列。适当地使用这些索引可以提高查询性能。
2024-09-26 14:58:28
914
原创 postgres--目录System Catalogs
(anyarray): 这列存储的是第 N 个“槽”的适当类型的列数据值,或者如果槽类型不存储任何数据值,则为 null。每个数组的元素值实际上是特定列的数据类型,或者是相关类型,例如数组的元素类型,因此无法比。(float4[]): 这列存储的是第 N 个“槽”的适当类型的数值统计信息,或者如果槽类型不涉及数值,则为 null。(bool): 这是一个布尔值,如果为真,则表示统计信息包括子表中的值,而不仅仅是指定关系中的值。需要注意的是,即使这些统计数据是最新的,它们本质上也是近似的。
2024-09-20 15:22:40
814
原创 postgres【timescaledb】--磁盘监控
使用VACUUM来清理表和释放空间。使用ANALYZE来更新统计信息,优化查询性能。为特定操作选择合适的命令和选项,以最大化数据库的性能和效率。
2024-09-12 16:03:56
1178
1
原创 postgres--系统视图,表
pg_stat_all_tables是一个系统视图,它为当前数据库中的每个表(包括TOAST表)提供一行数据。显示了关于特定表的访问统计信息,比如访问次数等。pg_stat_user_tables和pg_stat_sys_tables这两个视图包含了与pg_stat_all_tables相同的信息pg_stat_user_tables仅显示用户创建的表的统计信息,而pg_stat_sys_tables仅显示系统表的统计信息。
2024-09-10 17:58:56
682
原创 docker-记录一次docker-compose部署容器挂载权限问题
需要在单独的docker环境部署一套应用程序,包括mqtt,数据库,应用等。
2024-09-02 14:56:55
995
原创 golang--并发【sync.Once{},并发种错误处理,并发控制,context.Context】
虽然我们在goroutine中并发的对于results变量进行写入,但因为每一个goroutine都写在了独立的位置,且没有任何读取的操作,因此results[i] = result是并发安全的。当goroutine运行完成之后,除了原有的wg.Done(),我们需要从channel读取走一个数据,来允许新的goroutine运行。入参的数组可能非常大,如果不加以控制可能导致我们的服务器资源耗尽,我们需要控制并发的数量。的方式并发赋值,因为会涉及到slice的扩容等操作,所以并不是并发安全的,需要利用。
2024-07-03 14:44:40
698
原创 golang --gin+websocket实现指定的数据点推送
这里提到的endpointId是一个负载了数据的逻辑点,就像一根水管的出口,有新数据来就会根据后端记录的endpointId推送到用户正在查看的endpointId。用户没有正在查看的endpoint就不会有新数据推送。这里如果如果对endpoint加上权限就相当于实现对实时数据的准确推送。
2024-01-12 16:09:57
952
原创 k8s--基础架构--Mixed Version Proxy
Mixed Version Proxy 是 Kubernetes 1.28 中的一个新特性,处于 alpha 阶段。:它允许 API Server 将资源请求代理给其他同伴 API Server。:这在集群中存在多个运行不同 Kubernetes 版本的 API Server 时非常有用,例如在长期部署新版本 Kubernetes 过程中。这个特性使得集群管理员能够配置高可用的集群,并更安全地进行升级,通过将资源请求(在升级过程中发出的请求)定向到正确的 kube-apiserver。
2023-10-18 08:53:22
302
原创 k8s--基础架构--容器运行时接口 (CRI)和垃圾回收
Container Runtime Interface(CRI)是一个插件接口,它使能够使用各种,无需重新编译集群组件。您需要在集群中的每个节点上安装一个可用的容器运行时,以便kubelet能够启动Pod和它们的容器。容器运行时接口(CRI)是kubelet和容器运行时之间通信的主要协议。Kubernetes容器运行时接口(CRI)定义了集群组件kubelet和容器运行时之间通信的主要gRPC协议。
2023-10-07 09:11:23
778
原创 k8s--架构基础--cgroup v2
cgroup v2是Linux cgroup API的下一个版本。cgroup v2提供了一个统一的控制系统,具有增强的资源管理能力。单一统一的层次结构设计更安全的子树委派给容器支持新特性,如Pressure Stall Information(压力停顿信息)提供跨多个资源的增强资源分配管理和隔离对不同类型的内存分配(网络内存、内核内存等)进行统一的记账记账非即时资源变化,例如页面缓存写回某些Kubernetes特性专门使用cgroup v2来增强资源管理和隔离。
2023-09-26 09:09:46
1957
原创 k8s--架构基础--云控制器管理器
RBAC ClusterRole的具体配置取决于云控制器管理器所需的操作和访问权限。它可能涵盖对集群范围的各种资源的访问权限,如Node、Pod、Service、Endpoint等。此外,它还可以涉及到一些底层云基础设施的访问权限和操作权限,以便云控制器管理器能够执行特定的云操作。
2023-09-25 12:40:11
685
原创 k8s--基础架构--租赁(Lease )
分布式系统通常需要租约(leases),。在Kubernetes中,租约的概念在Kubernetes中,Lease对象用于协调集群中的节点和组件之间的通信和协作。例如,每个节点都会创建一个Lease对象,以向其他节点宣告自己的存在,并定期发送心跳信号以表明其健康状态。此外,Lease对象还可用于组件级别的领导者选举,例如选举控制器中的主节点。通过使用Lease对象,Kubernetes可以确保系统中的节点和组件之间的通信和协作得以平稳进行,增强了集群的可靠性和稳定性。
2023-09-24 10:58:08
759
原创 k8s--基本架构--节点与控制平面之间的通信
记录了API服务器和Kubernetes集群之间的通信路径。其是允许用户自定义安装,以加固网络配置,从而使集群能够在不受信任的网络上运行(或在云提供商上的完全公共IP上运行)。简单来说,这篇文档描述了Kubernetes中控制平面(Control Plane)和节点之间的通信方式。控制平面,用于管理和控制整个集群。节点则是集群中运行实际工作负载的主机。:API服务器是,通过API服务器可以对集群进行各种操作。它需要与节点进行通信,以便获取节点的状态、分配任务、监控节点健康状况等。
2023-09-23 15:47:52
353
原创 k8s---基本架构--节点
那么在kubelet的配置中,可以通过设置来指定每个优先级类别的关机期间。优先级值为100,000的Pod:将有10秒的时间来停止优先级值为10,000的Pod:将有180秒的时间来停止优先级值为1,000的Pod:将有120秒的时间来停止优先级值为0的Pod(regular/unset):将有60秒的时间来停止这个配置表示具有不同优先级值的Pod将有不同的关机期间。Kubelet将根据Pod的优先级值来确定每个优先级类别的关机时间,以确保在节点关机期间能够有序地终止Pod的运行。
2023-09-20 12:29:05
470
原创 k8s--基本概念理解
例如:tier!= frontend前者选择所有标签键等于environment且值等于production的资源。后者选择所有标签键等于tier且值不等于frontend的资源,以及所有没有带有tier键的标签的资源。可以使用逗号运算符来过滤掉在production环境中的前端资源:environment=production,tier!=frontend基于相等性的标签要求的一个使用场景是Pods指定节点选择条件。
2023-08-24 21:58:07
1165
原创 k8s--使用cornJob定时执行sql文件
时间表 0 * * * * 表示在每小时的第 0 分钟执行,也就是每小时执行一次这里是使用的我自己常见的一个镜像,在alpine中加入了postgres,为了使用psql工具,数据库密码和账户存在了secret中,secret的name是capital-airport-backend。
2023-08-10 15:09:55
579
原创 docker---网络
默认情况下,主机上/etc/hosts文件中定义的自定义主机不会被容器继承。每个容器都有自己独立的网络命名空间,其中包括自己的/etc/hosts文件。如果你想将额外的主机添加到容器中,可以在创建容器时修改容器的/etc/hosts文件。这可以通过在运行docker run命令时使用--add-host标志来实现。--add-host标志允许你在容器的/etc/hosts文件中指定额外的条目。以上命令将在运行容器时,在容器的/etc/hosts文件中添加了一条记录,将myhost映射到的IP地址。
2023-08-03 09:17:17
1653
原创 docke--部署TimescaleDB
创建一个TimescaleDB容器:使用以下命令创建一个TimescaleDB容器。将替换为您自己的容器名称。这将在后台启动一个新的容器,并将容器的5432端口映射到主机的5432端口。这将打开一个与TimescaleDB容器中的PostgreSQL实例的交互式终端会话。将替换为您想要创建的数据库名称。这将在您的数据库中启用TimescaleDB扩展,使其成为一个时间序列数据库。现在,已经成功安装和部署了TimescaleDB。
2023-07-12 14:16:15
934
原创 Docker学习
Docker图形化管理工具。提供一个后台面板给我们操作–restart=always 启动方式-v /var/run/docker.sock:/var/run/docker.sock 挂载–privileged=true 权限访问测试:外网:http://39.105.163.53:8088/注册页面:注册之后:local平时不会使用这个面板docker 的理念: 将应用和环境打包成一个镜像总结一句话:容器的持久化和同步操作!容器间也是可以数据共享的!
2023-06-22 22:44:07
1511
原创 pulsar---non-persistent和persistent的区别
结论:这样的代码下,非持久化发送之后,消费者接收会出现接收不全的情况。测试修改topic就可以。持久化发送就是正常的。
2023-04-07 17:27:58
344
原创 源码分析---gin框架的http服务创建,路由注册,请求处理
当一个goroutine需要从池中获取对象时,它首先会检查local指向的poolLocal实例是否有可用的对象。否则,该goroutine会将local指向的poolLocal实例中的所有对象移动到victim中,并将local指向victim。当需要从池中获取对象时,如果池中没有可用的对象,则会调用New函数创建一个新的对象。当一个goroutine使用完一个对象时,它会将该对象返回给池。就是在group对象的handle数组中加入了当前新注册的handle,但是是通过创建新的数组替换旧的数组来做的。
2023-03-13 17:59:18
759
原创 linux--主机规划和磁盘分区
A:初次接触 Linux:只要分区『 / 』及『swap』即可B:建议分区的方法:预留一个备用的剩余磁盘容量!预留的分区也可以拿来做为备份之用。因为我们在实际操作 Linux 系统的过程中,可能会发现某些 script 或者是重要的文件很值得备份时,就可以使用这个剩余的容量分区出新的分区, 并使用来备份重要的配置文件或者是 script。
2023-02-15 22:54:17
542
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人