- 博客(349)
- 资源 (6)
- 收藏
- 关注
原创 Java中调用C代码
在Java中调用C代码通常通过Java本地接口(JNI,Java Native Interface)实现。通过以上步骤,即可在Java中成功调用C代码。根据需求选择JNI或JNA,前者性能更高,后者更简单。如果希望简化流程,可以使用。
2025-03-06 19:55:56
409
原创 mysql xa 事务理解
在 MySQL 中,会通过执行XA PREPARE语句将事务标记为状态。此时事务的数据修改已被持久化,但尚未最终提交,需等待全局事务协调器的最终决策(提交或回滚)。PREPARED。
2025-03-03 19:47:27
334
原创 springcloud nacos 整合seata解决分布式事务
项目流程:用户下单时,创建订单是一个微服务(order-service-2pc),扣减库存是另外一个微服务(storage-service-2pc),默认是AT模式。项目地址:https://github.com/fafeidou/fast-cloud-nacos/tree/master/seata 可以参考。使用docker-compose安装,启动docker-compose up -d。使用docker-compose安装,启动docker-compose up -d。,两个数据执行文件分别为。
2025-02-25 21:30:00
1809
原创 深度分析java 使用 proguard 如何解析混淆后的堆栈
经过proguard混淆过后,发生异常时堆栈也进行了混淆,那么如果获取的原始的堆栈呢?我们下面来看下。
2024-12-27 22:30:00
475
原创 springboot 工程使用proguard混淆
通过上面的步骤,你可以在 Maven 构建的 Spring Boot 项目中使用 ProGuard 进行代码混淆。
2024-12-27 21:30:00
1378
原创 es 中 terms set 使用
在 Elasticsearch 中,terms_set查询通常用于在一个字段上进行多值匹配,并支持设置一个条件(例如最小匹配数量),让查询结果更具灵活性。为了展示如何使用terms_set查询,我们首先会创建一个索引,写入一些数据,然后演示如何进行查询。
2024-12-24 22:30:00
591
原创 es 中使用update 、create 、index的区别
操作类型目标说明示例index插入或替换文档插入,如果文档已经存在则会被替换。create插入仅在文档不存在时插入文档,如果文档已存在,则返回错误。update更新仅更新文档的一部分内容,文档必须存在。如果文档不存在,则返回错误。index用于插入新文档或替换现有文档。create用于仅在文档不存在时插入新文档,若文档已存在则返回错误。update用于更新现有文档的部分内容,若文档不存在则返回错误。
2024-12-24 22:00:00
1599
原创 深度分析 es multi_match 中most_fields、best_fields、cross_fields区别
类型描述适用场景在多个字段上查找匹配,只选择相关性最强的字段作为最终匹配结果(默认)。如果只关注单个最相关字段,适用于精确匹配。将多个字段的相关性得分累加,最终返回得分最高的结果。如果多个字段的匹配结果对最终排序有较大影响。将多个字段合并为一个整体进行查询,适用于查询词分布在不同字段中的情况。如果多个字段包含查询的不同部分,且它们属于相同的概念。适用于你只关心最相关的字段结果时,通常用于精确匹配查询。适用于你希望多个字段的匹配都能影响查询结果时,适合宽松匹配。
2024-12-24 21:00:00
1983
原创 elasticsearch upsert 使用
操作通常用于合并或更新文档数据,确保目标文档的存在,同时避免因为文档不存在而导致的错误。非常适用于那些需要频繁更新或插入数据的场景,特别是在你不确定文档是否已经存在的情况下。的索引,并且你想通过文档 ID 来插入或更新用户信息。有时你可能需要使用脚本来动态更新文档的字段。在 Elasticsearch 中,upsert。如果文档中的字段是数组或对象,你也可以使用。索引,文档包含一个订单的详情。是一个常见的操作,用于执行文档的。插入一个新的订单或者更新现有订单。中使用脚本来更新字段值,或者在。
2024-12-23 22:00:00
1404
原创 elasticsearch中使用fuzzy查询
fuzzy查询:用于执行基于编辑距离的模糊匹配,适用于拼写错误、变体或近似匹配。fuzzinessAUTO:自动设置编辑距离。数字(如12):指定允许的最大编辑距离。0:要求完全匹配。:设置匹配的前缀长度。:控制查询扩展的最大变体数量。
2024-12-23 21:00:00
823
原创 elasticsearch Flattened 使用
与嵌套类型不同,flattened类型是用于存储具有复杂、变化字段的结构。它将复杂对象展平,允许更灵活的查询和存储。flattened在 Elasticsearch 中,flattened类型字段非常适合存储结构化和非结构化的数据,它将嵌套的数据展平成平面结构,并可以通过简单的键值对来访问。在增、删、改、查操作上,flattened增(Indexing):直接将复杂的 JSON 对象存入字段,Elasticsearch 会自动展平。查(Search):通过常规查询语法查询展平后的字段。
2024-12-18 00:00:00
1321
原创 elasticsearch 使用嵌套类型
首先,我们需要创建一个索引,并在映射中定义一个嵌套类型字段。假设我们有一个文档,其中包含一个嵌套的“address”字段,表示一个人可能有多个地址。"name": {},"age": {},"type": "nested", // 嵌套类型"city": {},在 Elasticsearch 中,嵌套类型允许你对结构化数据进行高效的存储和查询,但由于嵌套字段在查询时会被当作独立文档来处理,因此需要特别关注查询和更新的语法。通过nested。
2024-12-17 23:45:00
622
原创 elasticsearch 映射创建后还可以更新吗
在以上实战中,对应第一种情况,Object对象可以添加新的属性,添加了last字段。对应第二种情况,first添加了keyword类型,以组合构造fields。对应第三种情况,user_id添加了ignore_above。❑在已经存在的字段里面可以添加fields,以构成一个字段多种类型。❑ignore_above是可以更新的。❑Object对象可以添加新的属性。更新映射的操作如下所示。但以下3种情况例外。对此,实战验证如下。
2024-12-17 20:00:00
161
原创 elasticsearch match_phrase 短语检索
match_phrase检索适用于注重精准度的召回场景。与match检索(分词检索)不同,match_phrase检索更适合称为短语匹配检索。这是因为match_phrase检索要求查询的词条顺序和文档中的词条顺序保持一致,以确保更高的精准度。实战中建议——在需要精确匹配短语时使用match_phrase检索,以满足高精准度召回的需求。
2024-12-17 10:38:14
203
原创 es 开启slowlog
启用查询慢日志:可以通过设置查询慢日志阈值来启用,通常记录执行时间较长的查询。启用索引慢日志:记录索引、删除等操作的耗时,帮助定位性能瓶颈。使用慢日志能够帮助你监控和调优 Elasticsearch 的性能,发现并优化长时间运行的查询和索引操作。
2024-12-17 10:33:47
656
原创 es中段是怎么合并的
因此,Elasticsearch 会在后台定期执行合并操作,将多个小段合并成较大的段,以提升查询效率并减少磁盘空间的使用。每当一个层次中的段数超出限制时,Elasticsearch 就会触发合并操作,将小段合并为更大的段,并向更高层次迁移。这些层次帮助管理段的合并,避免过度合并小段,同时确保合并后的段大小合理,能够有效地提升查询性能。采用分层的策略来管理段的合并,它的主要目标是控制每个层次中的段的数量、大小以及合并的频率,从而提高索引的查询效率,并避免过早或过频繁的合并。)来手动触发合并操作。
2024-12-16 21:30:00
1510
原创 elasticsearch 使用Painless脚本
Painless 是 Elasticsearch 中强大且高效的脚本语言,广泛应用于查询、更新、聚合、排序等多种操作。通过使用 Painless 脚本,开发者可以对 Elasticsearch 的行为进行细粒度的控制和动态计算,从而实现更灵活的功能。在实际应用中,合理使用 Painless 脚本能够帮助解决复杂的数据计算需求,但也需要注意性能和安全性,避免过度使用脚本影响集群性能。
2024-12-13 21:30:00
1174
原创 elasticsearch 使用enrich processor填充数据
使用enrich创建 Enrich Policy:定义从源索引中提取数据的规则。执行 Enrich Policy:执行政策并创建匹配数据。创建 Ingest Pipeline:在管道中使用enrich处理器,将匹配的数据合并到目标文档中。使用 Pipeline 索引数据:使用指定的管道进行文档索引。查询数据:查询文档,查看合并后的数据。更新和清理:根据需求更新或删除 enrich policy。通过enrich。
2024-12-13 13:45:39
1462
原创 elasticsearch 使用预处理将JSON类型转换成Object类型
在Elasticsearch(ES)中,您可以使用“预处理”(通常是通过处理器、Ingest Pipeline等方式)将JSON类型的数据转换为Object类型。假设您的文档中包含一个字段,字段内容是一个JSON字符串,您希望将其转换为对象格式。脚本也提供了在文档更新时动态转换数据的能力。处理器,允许在数据索引之前将JSON字符串解析成对象。处理器来将JSON类型数据转换为Object类型的示例。字段的一个对象,您可以在查询中直接使用该字段。来定义字段类型也是一种不错的选择。中的JSON字符串将被转换为。
2024-12-13 10:36:33
659
原创 k8s 之storageclass使用nfs动态申请PV
以下是一个示例 YAML 文件,它请求一个大小为 1Mi 的 PVC,并且使用刚才创建的。当你有了 PVC 和 PV 后,可以在 Pod 中使用 PVC 来挂载存储。以下是一个示例 Pod,它使用了。来创建 NFS 存储,首先你需要确保 NFS 服务器已经设置好并且可以访问。然后,你可以创建一个自定义的。,它指定使用 NFS 存储后端。以下是一个示例 YAML 文件,它定义了一个名为。,使用 NFS 动态 Provisioning 来创建 PV。(PVC),它会根据指定的。都会使用 NFS 存储。
2024-12-06 13:43:54
938
原创 在 CentOS 上安装 NFS 服务器
在 CentOS 上安装并配置 NFS 服务器,设置共享目录并启动 NFS 服务。在客户端机器上安装 NFS 客户端,挂载共享目录。在 Kubernetes 中,创建 Persistent Volume (PV)、Persistent Volume Claim (PVC),并在 Pod 中挂载 NFS 存储。这样就完成了 CentOS 安装和配置 NFS 服务的步骤,以及在 Kubernetes 中使用该 NFS 存储的过程。如果有任何问题,欢迎继续提问!
2024-12-06 13:25:04
2088
原创 k8s 之 Role-Based Access Control
Kubernetes 的 RBAC 通过Role和来定义不同的权限,并通过和来将这些权限绑定到特定的用户、组或服务账户。RBAC 提供了一种细粒度的访问控制机制,帮助管理员确保集群资源的安全性,并且根据不同的需求授予相应的权限。
2024-12-04 19:26:38
848
原创 k8s Quality of Service
Guaranteed:请求和限制都设置,且请求和限制的值相同。Burstable:请求和限制都设置,且请求和限制的值不同,或者只设置了其中之一。BestEffort:没有设置任何请求和限制。Kubernetes 的 QoS 分类是通过请求(requests)和限制(limits)来实现的,可以帮助管理员根据资源需求进行精细化控制。对于生产环境中的关键任务应用,可以使用Guaranteed类型来确保它们有稳定的资源;对于一些可适当突发的应用,可以使用Burstable类型;
2024-12-03 19:49:31
936
原创 k8s 资源管理resourceQuota
是 Kubernetes 中用于限制命名空间资源使用的工具,可以用来控制资源总量和对象数量,确保集群资源公平分配。通过设置,可以避免某个命名空间的资源过度消耗,保障集群中的其他命名空间能够平稳运行。适合用于多租户环境,防止某个租户(命名空间)占用过多资源。
2024-12-02 18:54:38
1286
原创 k8s 亲和性之Affinity
Kubernetes 中的亲和性(Affinity)机制提供了灵活的调度策略,帮助我们实现更高效的资源利用、负载均衡、故障隔离等。通过结合和,你可以精细地控制 Pod 的调度行为,满足不同应用场景的需求。
2024-11-30 21:02:29
1152
原创 Kafka AdminClient API 来获取特定 Kafka 消费组的消费延迟
查询 Kafka 分区的和消费者的 consumerOffset。计算每个分区的消费延迟(Lag)。使用反射访问消费者实例的memberId字段和主机名。输出每个 Topic 分区的消费偏移量、日志结束偏移量、Lag 和消费者实例信息。
2024-11-30 18:08:03
1477
原创 kafka admin client 如何计算kafka发送速度
使用获取分区的:通过定期调用获取分区的最新偏移量,计算时间间隔内发送的消息数,从而计算生产速度。使用 JMX 指标:通过 JMX 监控生产者的吞吐量(和),可以实时监控生产速率。通过这些方式,你可以有效地监控 Kafka 集群的生产速度,并进行相应的优化。
2024-11-30 17:57:11
1058
原创 Springboot 实现Server-Sent Events
在中,返回类型的响应通常用于实现,这种方式允许服务器推送实时更新到浏览器。客户端通过API 监听并接收这些事件。Spring Boot 可以通过使用和SseEmitter来实现这一功能。我们可以通过来创建一个 API,返回类型的数据。这个数据会是一个持续的流,浏览器会实时地接收它。
2024-11-26 19:17:29
1661
原创 argo workflow 设置自动GC pod
你还可以在单个工作流中为 Pod 设置垃圾回收策略,覆盖全局配置。这可以通过在工作流的spec中添加podGC配置来实现。
2024-11-24 23:32:16
729
原创 Kubernetes 所有节点和 Pod 都使用 Asia/Shanghai 时区
volumes:hostPath:path: /etcvolumes: 定义了 Pod 使用的卷。在这里,使用了一个hostPath卷来将宿主机的目录/etc挂载到容器内部的/etc目录。hostPath: 将宿主机的文件或目录挂载到容器中。这里的配置表示将宿主机的/etc目录挂载到容器的/etc目录,使容器能够修改宿主机的时区设置。path: /etc: 宿主机上的/etc目录。: 这个卷的类型是Directory,表示挂载的是一个目录。目的:这个DaemonSet。
2024-11-24 23:26:24
1127
原创 centos7 安装helm v3
通过以上步骤,你已经在 CentOS 系统上成功安装了 Helm v3,并且可以使用它来管理 Kubernetes 中的应用。Helm 是 Kubernetes 中强大的包管理工具,能够帮助你简化应用的安装、升级和管理。
2024-11-23 23:19:03
819
原创 使用EFK收集k8s日志
首先我们使用EFK收集Kubernetes集群中的日志,本次实验讲解的是在Kubernetes集群中启动一个Elasticsearch集群,如果企业内已经有了Elasticsearch集群,可以直接将日志输出至已有的Elasticsearch集群。
2024-11-23 23:02:49
785
原创 argo workflow 实现pod日志自动归档到oss上
与 Argo Workflow 相关的配置信息,特别是关于将工作流的产物(如日志文件、构建产物等)存储到对象存储(如阿里云 OSS)中的设置。
2024-11-23 20:13:18
809
原创 使用argo workflow 实现springboot 项目的CI、CD
接下来的部分定义了工作流中的多个步骤 (steps),这些步骤会按顺序执行。
2024-11-23 19:48:49
2094
原创 forbidden: User “system:serviceaccount:argo:default“ cannot patch resource “services“ in API group “
如果你依赖于 Argo Workflow 来管理资源,确保你在工作流中应用了正确的权限策略。如果返回 no,说明权限不足,你需要按照上面的步骤为该 ServiceAccount 分配适当的 Role 或 ClusterRole。通过 kubectl auth can-i 来检查当前 ServiceAccount 是否具有所需的权限。这样,Argo 的默认 ServiceAccount 就有权限更新服务了。检查 Argo Workflow 的权限(确保它有足够权限)
2024-11-19 14:44:04
320
原创 Argo WorkflowTemplate 进行参数化
使用 inputs.parameters 来定义模板的输入参数。使用 arguments.parameters 来在实际工作流执行时传递参数的值。可以通过 workflowTemplateRef 来引用参数化的 WorkflowTemplate,并在工作流中覆盖模板中的默认参数。通过这种方式,你可以将 Argo WorkflowTemplate 参数化,并根据需要灵活地传递参数,支持不同的运行场景。
2024-11-17 22:41:50
519
原创 Argo workflow 拉取git 并使用pvc共享文件
第一个任务(拉取 Git 仓库):这个任务将使用 git 命令克隆指定的 Git 仓库。第二个任务(读取 Git 文件):这个任务会读取第一个任务拉取的 Git 仓库中的文件。我们将使用 Argo Workflows 中的。机制来传递 Git 仓库中的文件,
2024-11-17 13:11:25
677
原创 error looking up service account argo/workflow: serviceaccount “workflow“ not found
错误信息 User “system:serviceaccount:argo:workflow” cannot patch resource “pods” in API group “” in the namespace “argo” 表示 workflow ServiceAccount 没有足够的权限去修改(patch)pods 资源。
2024-11-17 12:48:32
797
apache-skywalking-apm-6.5.0.tar.gz
2020-04-03
lombok-plugin-0.28-2019.3.zip
2020-01-27
Navicat.for.MongoDB.12.1.7.rar
2020-01-06
Navicat for MySQL v12.0.29.zip
2020-01-05
Xshell.zip
2020-01-05
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人