- 博客(102)
- 资源 (19)
- 收藏
- 关注
原创 开源项目ChatGPT-Next-Web的容器化部署(三)-- k8s deployment.yaml部署
至此,开源项目ChatGPT-Next-Web的容器化部署至k8s就梳理完毕了。作为一个nodejs后端程序,它不同于h5静态页面,类似于java程序,但又没有java复杂。另外,每个Nodejs程序的Dockerfile可能都不一样,但是java程序就又相对一致了。
2024-03-22 15:22:05 432
原创 开源项目ChatGPT-Next-Web的容器化部署(二)-- jenkins CI构建并推送镜像
接着上文已制作好了Dockerfile,接下来就是docker build/tag/push等一系列操作了。不过在这之前,你还必须在jenkins等CI工具中,拉取源码,然后build构建应用。因为本文的重点不是讲述jenkins ci工具,所以只会把核心的一些知识交待清楚。但是,本文的内容,都是由jenkins完成。
2024-03-22 15:00:33 984
原创 开源项目ChatGPT-Next-Web的容器化部署(一)-- 优化Dockerfile
Dockerfile建议优化一把,下一篇我们将整理在jenkins ci过程,如何构建并推送镜像。
2024-03-22 13:56:40 516
原创 阿里云镜像仓库服务--推送docker image到远程仓库
最后赞一下阿里云镜像服务的“镜像指南”,写得挺棒的。每个月收取780元的费用(不包括oss的费用),大家觉得值吗?
2024-03-20 22:48:19 409
原创 自建分布式配置中心nacos2.1.0,因打印日志过多,磁盘空间已满导致新增配置读取失败。
nacos服务端所在机器因为磁盘空间已满导致新增服务无法读取配置,而原有旧服务可以正常读取配置。这是我们走弯路的直接原因。希望大家在对nacos做运维的时候,多加注意其日志治理。
2024-03-14 14:57:55 545
原创 阿里云环境下,从仅知的一个外网域名如何找出前端程序的部署所在和启动命令
这里我们使用到了阿里云的两个功能,云解析DNS和云服务器ECS,并没有使用Kong和SLB等组件。项目比较旧,使用nginx作反向代理,整个链路涉及到的组件就三四层。
2024-03-13 15:54:56 485
原创 基于官方的docker镜像,制作自定义的私有镜像(以前端node为例)
node版本如要升级,只需要修改Dockerfile中的版本号即可。官方node镜像默认就支持yarn和npm,无需我们额外去安装。当然,第一次由于是从dockerhub下载,网络差异,镜像的构建速度可能会比较慢。但是后面拉取私库的自定义镜像就比较快速了。
2024-03-13 12:15:41 155
原创 Php和h5等静态文件的服务容器化部署(下)
kong在配置route路由的时候,配置项Preserve Host,When matching a Route via one of the hosts domain names, use the request Host header in the upstream request headers. By default set to false, and the upstream Host header will be that of the Service’s host。
2024-03-11 17:27:09 344 1
原创 Php和h5等静态文件的服务容器化部署(上)
接下来占用两篇文章的篇幅来讨论下,像php和h5等静态文件的容器化部署,有哪些部署方式。本文重点围绕着如何部署php程序展开,h5和它类似,就不再赘述。为了便于理解,我们先会整理两种方案的部署架构,下篇将总结我们在部署过程中遇到的难点。
2024-03-11 16:27:54 281
原创 阿里云k8s环境下,因slb限额导致的发布事故
在没有解决问题前,只能在Kong的upstream配置pod IP,而非slb ip。虽然能解决,但是不够动态,显然是临时解决方案。因为我们没有去做动态注册kong upstream。
2024-03-07 23:22:06 783
原创 k8s部署java微服务程序时,关于配置conusl acl token的方法总结
环境变量这么整下来,到底应该去哪看呢?当进入pod容器,ps进程也看不到。只有输入env | grep consul才能看到应用程序的环境变量。好了,本文就总结到这里。
2024-02-27 17:38:53 695
原创 使用Makefile对多个shell命令进行编排
这里略去,不是本文的重点。编写Makefile文本的时候,注意每行命令前必须是TAB键,而非空格键。由于本示例也存粹是对Makefile的入门,想要突出的是其对shell命令编排的使用好处。
2024-02-23 11:21:04 822 2
原创 阿里云k8s容器部署consul集群的高可用方案
metadata:data:},"acl": {datacenter和consul server所在的dc保持一致bind_addr 采用读取的方式,不能写死acl 填写consul集群的访问token好了, consul的高可用部署就写到这里。本文是以java服务注册到consul为示例,给你讲述了从部署到接入的全过程。
2024-02-21 16:54:17 656
原创 支付系统的设计概要
本文不意长篇累赘地描述支付系统,通过一张设计图,目标是已有一定支付业务基础的同学,在做设计的时候,仅供参考一二。本文的内容重在微服务化的模块设计。
2024-02-02 10:25:46 388
原创 nodejs前端项目的CI/CD实现(四)前端项目的CD持续部署
前端项目的打包部署就讲到这里了,编译到dist目录,然后发送到目标机。不同的语言或项目,差别最大的就是编译了。本系列文章,其实重点也是在CI上,CD比较简单。其实还有重要的IM模块未涉及,后面有空再写。另外,为什么会有本系列文章,也是因交接工作太简单,文档只有机器的密码。。希望大家多写一些文档,少挖坑。(最近比较流行防御性编程,通过本系列文章,你可以看到运维也有防御性运维)
2024-01-20 00:54:32 395
原创 nodejs前端项目的CI/CD实现(三)制作自定义的jenkins镜像
好了,关于制作自定义的jenkins镜像,我这里摘抄得比较详细,就不一一赘述了。下文,我们将讲解rsync工具,具体是如何部署一个项目。
2024-01-20 00:53:46 409
原创 nodejs前端项目的CI/CD实现(二)jenkins的容器化部署
docker安装jenkins,可能你会反问,这太简单了,有什么好讲的。我最近就接手了一个打包项目,它是一个nodejs的前端项目,jenkins已在容器里部署且运行OK。但是,前端组很追求新技术,不断地升级Nodejs的版本,之前是14,现在需要升级到16。也就是说,原本运行顺畅的打包不灵了,必须得升级Nodejs才行。我要看下文档,得知道jenkins容器的运行命令,才好去修改并重启容器。这是我的第一反应,可也正是这个思维,导致走了不少弯路。
2024-01-19 15:13:08 1073
原创 nodejs前端项目的CI/CD实现(一)总体设计
下文,我们将介绍jenkins的容器化部署, 重点是怎么分析已部署好的jenkins容器,因为我们大多数交接工作的时候,只有机器的密码。。。文档是不存在的, 希望在本系列文章的梳理中,可以帮助到你了解简单的CICD是怎么做的。
2024-01-19 14:30:41 428
原创 前端h5页面和后端php服务的几种部署方式
本文把部署的几种方案作了一个简单示意,后文我将讲述如何在kong中配置。另外,本文也没有提及目前流行的一种部署方式–容器部署,后文也一并抽空整理出来。
2024-01-16 17:35:22 1303
原创 说一说文件转换服务的系统设计
本文仅以文件转换服务为例,其实适用于许多异步操作的场景,以及和第三方交互的业务模式。我在文中有时也使用“任务”一词,也就是异步任务,设计的时候都可以参考。或许,你可以在上文反复看到“第三方”字眼,如果你做过第三方支付,联带想想,是否有异曲同工之处呢?
2024-01-15 21:37:12 372
原创 阿里云使用SLB实现k8s的服务service
本文主要讲述的是,如何在云环境下的k8s容器里, 暴露服务service的时候,使用slb实现对外访问。
2024-01-15 10:46:14 791
原创 阿里云ingress配置时间超时的参数
这里只是以设置超时时间为例,讲述k8s容器部署的Nginx和ingress,如何设置一定自定义的参数配置。当然,这里没有讲述怎么安装它们,更多的是梳理了一下如何配置,侧重于使用这块。
2024-01-13 15:58:03 1491
原创 制作docker镜像时,使用copy命令统一文件的不同所属用户
在制作docker镜像时,使用COPY命令,可以统一原本不同所属用户的文件为同一个用户root。我们都知道,linux系统,不同的用户之间的访问是受限的。整个文件夹的用户通体都是devuser,但是里面的文件却是其他用户。见下:可以预计得到,他们之间的访问将会是多么乱,且受限。使用docker的copy命令,可以轻松解决。
2024-01-12 10:33:30 418
原创 java编程中,保证接口幂等性的实现方案讨论
数学中的幂等是指f(x) = f(f(x)),编程领域的术语是指同一个操作,在重复提交的情况下,最终产生的影响是不变的。总结: 对于重要的接口,在实现接口时,一定要考虑是否具备幂等性。既然不是所有的接口,那都有哪些场景的接口,会需要考虑幂等性呢?
2024-01-09 14:31:23 693
原创 spring-boot-autoconfigure误引入spring-boot-starter-data-jpa而导致数据源初始化异常
通过问题的报错,反过去推导。
2024-01-02 15:06:17 506
原创 私有部署ELK,搭建自己的日志中心(六)-- 引入kafka对采集日志进行削峰填谷
首先,要说明一点,elk日志中心,是可以缺少kafka组件的。其次,如果是研发环境下,机器资源紧张的情况下,也是可不部署kafka。最后,因为kafka的部署是可以独立的,所以本文将另行部署,不和elk一起。
2023-12-29 13:30:59 1238
原创 私有部署ELK,搭建自己的日志中心(五)-- 使用filebeat采集K8S pod的jvm日志
1、一定要让filebeat能够读取到被采集的日志,比如本文就是采用emptydir临时文件的方式共享。2、filebeat容器本身启动的时候,注意需加载filebeat,yml配置。这里使用了args的方式指定配置文件所在路径。args:而/etc/filebeat.yml是挂载到configMap。这一块踩过的坑就是,没有启动filebeat进程。所以这个必不可少,再次提醒。3、由于整个deployment.yaml比较大,我就不详细贴出来其内容。而且不同的公司不一,需要你基于原本的配置修改。
2023-12-29 12:49:23 1360
原创 私有部署ELK,搭建自己的日志中心(四)-- kibana展示es的数据
前一篇已把elk的安装连带讲完,本文重在讲述如何在kibana展示es数据。
2023-12-29 09:13:59 1385
原创 私有部署ELK,搭建自己的日志中心(三)-- Logstash的安装与使用
上文把采集端filebeat如何使用介绍完,现在随着数据的链路,继续~~可以看到,logstash和kibana都依赖于ElasticSearch,填写es的地址使用容器名“elasticsearch:9200”,省去分配内网IP的过程。es存储需要持久化,三个组件的配置文件都开放,便于在宿主机上修改。由于es和kibana在后文将另外讲述,所以本文只进一步介绍logstash的使用。
2023-12-28 15:02:42 748
原创 私有部署ELK,搭建自己的日志中心(二)-- filebeat的介绍与安装
因为在整个日志中心,我们有logstash组件,所以filebeat不承担多少处理的工作。filebeat仅采集,配置的时候比较简单,没有用到过多的复杂语句。下文将讲述logstash。
2023-12-28 13:44:49 1302
原创 阿里云SLS日志服务之数据导入与加工处理
到此,你应该明白,如果不用复杂的加工处理,不建议你使用本文提及的方案。直接在sls配置Logtail即可。本方案把采集的步骤拉长不说, 光是存储成本就翻一番。
2023-12-14 11:35:19 293
原创 阿里云SLS采集jvm日志
java应用部署在阿里云的k8s容器里,采集其日志的需求则是一个不可缺少的。而不同公司的jvm日志会存在很大的差异,所以本文仅以我的实际情况作一个示例,仅供有需要采集jvm日志的同学们一个参考。我们打印的Jvm日志格式见下,如果你和我这的不一样,还请自己稍作修改。
2023-12-09 21:20:18 181
原创 阿里云SLB的使用总结
对于自建IDC,可能会自己搭建LVS集群来实现负载均衡,不过还是建议你使用SLB,它还可以管理DNS/域名及证书。当然SLB不是无偿的,它会涉及到一些费用,需要你流心。公网下行流量容量单位实例租用费可以看到,流量的费用不低,SLB区分内网还是外网还是很有必要的。其次,http接口在返回数据的时候,特别是查询接口,尽量减少返回的报文。最后,我想说,注意及时看SLB的监控数据:连接数和流量。除了http协议外,SLB还可以看到tcp端口层面的数据。
2023-12-09 00:36:37 827
原创 阿里云环境下的配置DNS和SLB的几种实践示例
因为阿里云的文档本身已很丰富全面了,本文不意再重复一遍,如果在看本文的时候,有不清楚的地方,还望见谅,结合官方文档可能更佳。
2023-12-06 00:28:24 357
原创 关系型数据库的数据隔离级别Read Committed与Repeatable Read
数据库隔离级别会影响到我们的查询,本文试图以生产中的示例,给你一个直观的认识。所谓,理论要结合实践,才能让我们理解得更加透彻。
2023-12-04 11:22:53 105
原创 spring boot的redis连接数过多导致redis服务器压力过大的一次问题排查
jvm程序的内存和gc没有变化,在接口访问量陡增的情况下,我们根据目前得到的信息,决定修改程序代码redission的配置。也就是说,减少程序对redis服务器的并发请求,至少不会让redis服务器的压力陡增。一味地增加redis配置当然不可取,因为我们的redis配置已经是很高了。另外,我很怀疑阿里云在今天的表现,说实话,业务在没有变化非常大的情况下,不应该使得redis一下子就卡机了。服务只是让redis的压力上升了,并不是会让得redis连接超时且切换了主从。
2023-11-27 23:59:18 1087 3
原创 k8s中安装consul集群
headless services一般结合StatefulSet来部署有状态的应用,比如kafka集群,mysql集群,zk集群等,也包括本文要部署的consul集群。
2023-11-27 09:51:39 476 2
原创 mongodb数据库的常用操作语句
mongodb还有一些运维,比如定期备份、集群管理等,有空再整理。mongodb的修改操作,也未在本文涉及。本文侧重于mongodb的查询,说实话,查询才是最复杂的。希望可以帮助到你,有空我再更新~~
2023-11-23 16:38:34 98
Software-Transactional-Memory.pptx
2019-06-14
MyDac 7.0.1 ODAC 8.0.1 for Delphi 7 / 2010 Delphi XE2
2015-03-13
Packet.Tracer5.2.0.0068-汉化包
2010-07-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人