- 博客(87)
- 收藏
- 关注
原创 基于RT的服务健康状况探测的时间间隔选择问题
通过RT进行服务健康状况检测时,服务探测的间隔时间太短时会导致因为网络原因的误判,间隔时间太长又会不灵敏,如何解决这个问题呢?下面有一些可供参考的方法二、基于 RT 的服务健康探测与负载均衡。
2024-09-04 22:29:14
553
1
原创 kubernetes HPA
在Kubernetes(K8S)集群管理中,Horizontal Pod Autoscaler(HPA)是一种关键的自动扩缩容机制,用于根据当前负载情况自动调整Pod副本的数量。这一机制能够显著提升应用的响应能力和资源利用率,是K8S中广泛使用的Autoscaler机制之一。以下将对K8S的HPA进行详细介绍,包括其使用场景以及解决的问题。HPA,全称为Horizontal Pod Autoscaler,是Kubernetes中用于自动水平扩缩Pod副本数量的工具。
2024-08-28 00:35:30
934
原创 微服务架构设计中的常见的10种设计模式
边车模式(Sidecar Pattern)是一种在微服务架构中常见的模式,它通过将辅助性质的服务(通常被称为sidecar)与主要的服务实例部署在一起,以提供额外的功能、能力或支持。同步调用模式在调用的过程中会阻塞线程,如果服务提供方迟迟没有返回,则服务消费方会一直阻塞,严重的会撑满服务的线程池,出现雪崩效应。事件驱动模式通过事件来触发服务之间的交互。熔断器模式是一种容错机制,当某个服务调用失败率达到一定阈值时,自动断开对该服务的调用,并返回一个快速失败响应,从而防止系统因依赖服务的故障而全面崩溃。
2024-08-16 20:40:11
2945
2
原创 redission实现分布式锁时的时钟同步问题?
NTP是一种网络时间协议,用于同步计算机之间的时钟。通过NTP,各个节点可以定期与可靠的时间源进行同步,从而减少时钟偏差。
2024-08-15 23:03:24
1559
原创 EXPLAIN执行计划中要重点关注哪些要素?
EXPLAIN是MySQL中用于查看查询执行计划的关键字。执行计划是数据库查询优化器生成的一种指导性信息,它详细描述了MySQL执行查询时所采用的具体执行策略。通过执行EXPLAIN,用户可以获取查询的执行计划信息,从而了解查询的执行过程、访问方式、是否使用了索引、是否存在性能瓶颈等,进而优化查询语句和索引设计,提高查询性能。
2024-08-15 21:57:35
1178
原创 1078协议介绍
JT/T1078协议,全称为《道路运输车辆卫星定位系统视频通信协议》,是由中华人民共和国交通运输部发布的一项针对道路运输车辆卫星定位系统中车载视频通信的技术标准。该协议建立在JT/T 808协议的基础之上,旨在规范和统一道路运输车辆视频监控通信的数据格式和交互方式,以实现全国范围内车辆视频监控系统的互联互通和数据共享。这一协议的推出,对于提升道路运输车辆的安全监管水平、推动道路运输信息化发展具有重要意义。JT/T1078协议的推出是道路运输行业发展的一个重要里程碑。
2024-08-13 01:08:32
2099
原创 808协议介绍
JT/T 808协议作为中国道路运输车辆卫星定位系统终端与监控中心之间的数据通信标准,在车辆远程监管、物流管理、车辆安防等领域发挥着重要作用。随着技术的不断发展和行业需求的不断变化,协议需要不断进行技术升级和功能扩展以适应新的发展需求。同时,还需要积极推动协议的国际化与兼容性建设以及加强法规政策和标准制定的支持。未来,我们有理由相信JT/T 808协议将继续为中国道路运输行业的智能化、信息化发展贡献更大的力量。
2024-08-13 00:54:48
6803
原创 如何看待“低代码“平台的兴起?
在数字化浪潮席卷全球的今天,技术的快速发展正以前所未有的方式重塑着各行各业。其中,“低代码”开发平台的兴起,如同一股清新的风,吹散了传统软件开发模式的重重迷雾,为非技术专业人士打开了一扇通往应用创新的大门。这一新兴技术不仅承诺加速应用开发流程,还预示着软件开发领域一场深刻的变革。本文旨在深入探讨低代码平台的兴起背景、其带来的机遇与挑战,以及它如何可能改变开发者的工作方式和整个IT行业的格局。
2024-08-11 23:30:29
1008
原创 微服务设计中的边车模式
边车模式(Sidecar Pattern)是一种在微服务架构中常见的模式,它指的是将辅助性质的服务(通常被称为 sidecar)与主要的服务实例部署在一起,以提供一些额外的功能、能力或支持。在微服务架构中,一个主要的服务实例可能只负责核心业务逻辑,而与之关联的 sidecar 则负责提供一些辅助功能,如日志记录、监控、安全性、通信、或其他横切关注点。这种设计模式允许主服务更加专注于其核心功能,同时sidecar提供了一种可插拔的方式来添加或修改服务的功能。
2024-08-11 15:49:29
2308
原创 C-V2X通信协议
C-V2X是利用蜂窝网络将车辆与一切事物连接的技术,其核心在于通过无线通信技术实现车辆与车辆(V2V)、车辆与基础设施(V2I)、车辆与行人(V2P)、车辆与网络(V2N)之间的信息交换。这种技术不仅提高了交通安全性,还提升了交通效率和行车舒适性。
2024-08-03 21:38:54
2536
原创 DataX介绍
1. 定义与背景DataX是阿里巴巴集团内部广泛使用的离线数据同步工具/平台,后被开源出来供外部用户使用。它基于Java语言编写,通过插件化的方式支持多种数据源之间的数据同步和迁移。DataX的设计理念是“简单、可靠、高效”,旨在解决大数据领域复杂的数据同步问题。2. 主要特点高效稳定:DataX采用分布式架构,支持多线程并行处理数据,能够快速、稳定地完成大规模数据迁移。易用性强:DataX的配置和使用都非常简单,配置文件和命令行参数都非常易懂,即使是初学者也能够快速上手。功能丰富。
2024-08-02 10:44:46
1116
2
原创 Spark和Flink的介绍、区别以及各自的应用场景
介绍Apache Spark是一个快速、通用的大规模数据处理引擎,由加州大学伯克利分校AMPLab开发,并于2010年开源。Spark基于内存计算,提供了比传统Hadoop MapReduce框架快数十倍的速度,并简化了大规模数据处理的复杂性。它支持多种编程语言(如Scala、Java、Python和R),并提供了丰富的API和工具,如Spark SQL、Spark Streaming、MLlib(机器学习库)和GraphX(图形处理库)等。原理。
2024-08-01 23:43:32
2139
原创 OLTP和OLAP的介绍以及比较?
定义与特点OLTP,全称On-Line Transaction Processing,即联机事务处理,是一种面向事务处理的数据库管理系统(DBMS)。它主要处理企业级的常规业务操作,如公司的采购、销售、存储、支付等,确保数据库的完整性和一致性,并执行大量的读写操作。OLTP强调数据的精确、事务的原子性、并发性和实时性。数据结构OLTP系统通常采用关系型数据库(RDBMS),如MySQL、Oracle等。数据以行为单位进行存储(行存储方式),这有利于快速读取和更新特定记录。关键技术与优化。
2024-08-01 22:49:23
3601
原创 SkyWalking 跨进程传播的头部协议
当前扩展头部值包括的字段为追踪模式(tracingmode),取值为空、0 或 1,默认为空或 0,表示在这个上下文中生成的所有跨度应该跳过分析,默认情况下会在上下文中传播到服务端,除非在跟踪过程中被更改。其主要是为高级特性设计的,用于提供部署在上游和下游服务中的探针之间的交互功能。协议的头部(header)包含了用于上下文传播的关键信息,其名称为。此外,还有扩展头部(extension header)项,其名称为。分隔的 8 个字段组成,且头值的长度应小于 2KB。,用户通过 HTTP 调用。
2024-07-29 23:04:31
948
原创 Spring Integration介绍
Spring Integration旨在通过提供一种简单的方法来构建企业应用程序的消息驱动组件,从而简化企业应用中的集成复杂性。它集成了众多功能,如消息路由、转换、分发和错误处理等,使得开发人员可以更快地构建和部署消息驱动的应用程序。
2024-07-28 15:38:13
1841
原创 mysql的数据往hive进行上报时怎么保证数据的准确性和一致性
在将MySQL的数据往Hive进行上报时,确保数据的准确性和一致性可以通过下面一系列步骤来实现。
2024-07-16 22:49:37
1501
原创 Hbase、hive以及ClickHouse的介绍和区别?
HBase、Hive以及ClickHouse是三种在大数据领域广泛使用的数据库系统,它们各自具有独特的特点和适用场景。
2024-07-16 22:39:54
2650
1
原创 Casbin简单介绍、使用场景以及使用步骤
Casbin是一个强大的、高效的开源访问控制框架,其权限管理机制支持多种访问控制模型,包括ACL(访问控制列表)、RBAC(基于角色的访问控制)和ABAC(基于属性的访问控制)等。
2024-07-05 23:25:19
1831
原创 Keycloak介绍、原理以及使用场景
Keycloak是一个开源的身份和访问管理(IAM)解决方案,专为现代应用和服务设计。它提供了单点登录(SSO)功能,支持多种标准协议,如OpenID Connect、OAuth 2.0和SAML 2.0,使得Keycloak能够与各种服务进行集成,以提供身份验证和授权功能。Keycloak拥有简单易用的管理控制台,并提供对LDAP、Active Directory以及社交账号登录(如Google、Facebook、GitHub等)的支持,实现了非常简单的开箱即用体验。
2024-07-05 23:11:09
1225
原创 LiteFlow介绍、原理解析以及应用场景
LiteFlow是一个由Baidu开源的轻量级、快速、稳定且可编排的组件式规则引擎框架。它专注于逻辑驱动流程编排,通过组件化方式快速构建和执行业务流程,有效解耦复杂业务逻辑。LiteFlow的设计基于工作台模式,其中每个业务组件相当于一个工人,按照一定的顺序在工作台上生产零件(即执行业务逻辑),从而实现了组件间的解耦和流程的灵活编排。
2024-07-05 23:03:06
1871
原创 mysql数据库切换成kingbase(人大金仓)数据库时遇到的字段不存在问题
和系统表冲突只能在数据库中做修改,ALTER DATABASE 数据库名 SET search_path to “$user”, 模式名, public, sys, sys_catalog, pg_catalog;然后执行 select sys_reload_conf();重载配置文件,然后show search_path;默认是放在public下就将模式名去掉就行。
2024-06-21 16:21:58
3328
2
原创 规则引擎QLExpress和Drools的对比
规则引擎QLexpress和Drools的相同点、区别、执行性能、开发过程以及入手难易程度?
2024-04-01 20:15:05
3016
1
原创 LDAP的介绍以及JAVA使用LdapTemplate来进行AD域的操作
AD是Active Directory的缩写,AD是LDAP的一个应用实例,而不应该是LDAP本身。比如:windows域控的用户、权限管理应该是微软公司使用LDAP存储了一些数据来解决域控这个具体问题,只是AD顺便还提供了用户接口,也可以利用ActiveDirectory当做LDAP服务器存放一些自己的东西而已。比如LDAP是关系型数据库,微软自己在库中建立了几个表,每个表都定义好了字段。显然这些表和字段都是根据微软自己的需求定制的,而不是LDAP协议的规定。
2023-12-18 22:20:59
3584
1
原创 ClickHouse为何如此之快
针对ClickHose为什么很快的问题,基于对ClickHouse的基础概念之上,一般会回答是因为是列式存储数据库,同时也会说是使用了向量化引擎,所以快。上面两方面的解释也都能够站得住脚,但是依然不能够解释真正核心的原因。因为这些技术并不是秘密,市面上很多数据库同样使用了这些技术,但是依然没有ClickHouse这么快。我们可以从两外一个角度来探讨一番ClickHouse的快的秘密。
2023-12-09 16:19:42
1280
原创 利用exec命令进入docker容器时的报错问题
进入docker容器时报错:unable to start container process: exec: "/bin/bash": stat /bin/bash: no such file or directory: unknown
2023-11-06 21:55:19
3011
原创 深入浅出流程引擎之Activiti
一 、activiti架构图Activiti Engine:作为最核心的模块,提供针对BPMN 2.0规范的解析、执行、创建、管理(任务、流程实例)、查询历史记录并根据结果生成报表。Activiti Modeler:是模型设计器,其并非由Activiti公司所开发,而是由业界认可的Signavio公司赠送的(Signavio原本是收费的产品,现在被免费授权给Activiti用户使用)。适用于业务人员把需求转换为规范流程定义。Activiti Designer:功能和Activiti Modeler类
2022-05-10 21:29:18
1968
原创 数据库索引的简单知识点
一、一张图表示myisam和Innodb储存引擎的区别?二、创建索引的几大原则2.1 列的离散型离散型的计算公式:count(distinct column_name):count(*),就是用去重后的列值个数比总个数。值在 (0,1] 范围内。离散型越高,选择型越好。如下表中各个字段,明显能看出Id的选择性比gender更高。mysql> select * from user;+----+--------------+------+--------+| id | name
2021-11-29 22:31:32
365
原创 查看日志常用的linux命令
1、查看进程杀死进程ps -ef | grep java(查看Java进程ID)kill -9 PID)2、查看日志常用命令2.1 tail-n 是显示行号tail -50f test.log 实时监控50行日志tail -n 10 test.log 查询日志尾部最后10行的日志tail -n +10 test.log 查询10行之外的所有日志2.2 head查看最前面多少行日志,和tail时相反的head -n 10 test.log 查询日志文件中的头10行日志head-n -
2021-11-25 20:30:43
946
原创 数据仓库分层概念介绍
数据层次介绍1、ODS:原始数据层,在结构上其与源系统的增量或者全量数据大体保持一致。2、DWD:明细数据层,过滤、转换等加工操作。3、DWS:汇总数据层,整合构建面向分析和统计的宽表。4、ADS:应用数据层,面向业务指标统计。5、DIM:公共维度层,基于维度建模理念思想,建立整个企业的一致性维度。6、TEMP:中间表、临时表特殊说明:具体仓库的分层情况需要结合业务场景、数据场景、系统场景进行综合考虑。...
2021-08-17 20:25:10
452
原创 RPC框架介绍以及手动实现RPC
前言:首先提出一个问题:为什么需要使用RPC,而不是简单的http接口?下面就说一下原因http接口在接口不多、系统与系统交互较少的情况下,解决信息孤岛初期常使用的一种通信手段,优点就是简单、直接、开发方便。但是如果是一个大型的系统,内部子系统较多、接口非常多的情况下,RPC框架的好处就显现出来了。如下:首先是长链接。不必每次通信都要像http一样去进行3次握手和4次挥手,减少了网络开销。其次就是RPC框架一般都有注册中心,有丰富的监控管理。发布、下线接口、动态扩展等,对调用方来说是无感知
2020-11-23 00:41:42
1054
10
转载 线上故障排查技巧大全
简介:有哪些常见的线上故障?如何快速定位问题?本文详细总结工作中的经验,从服务器、Java应用、数据库、Redis、网络和业务六个层面分享线上故障排查的思路和技巧。较长,同学们可收藏后再看。前言线上定位问题时,主要靠监控和日志。一旦超出监控的范围,则排查思路很重要,按照流程化的思路来定位问题,能够让我们在定位问题时从容、淡定,快速的定位到线上的问题。线上问题定位思维导图一 服务器层面1.1 磁盘1.1.1 问题现象当磁盘容量不足的时候,应用时常会抛出如下的异常信息:java.io.I.
2020-11-17 10:44:16
1512
2
原创 攻城狮工作之余应该注意锻炼自己的身体
作为一只程序猿,在工作中时不时的会加班、熬夜以及压力大。在工作之余应该选择一种或几种锻炼身体并且释放压力的方式。今天分享一下我的方式——跑步。有规律的跑步不仅能够锻炼身体,而且也是一种释放压力的方式,尤其是跑的满身大汗后,冲过热水澡往床上一躺,放空自己,感觉一天的工作的压力和烦恼就消失了。美美的睡上一觉,第一天一早元气满满的迎接新一天的工作。 分享自己的跑步...
2020-11-17 00:34:20
549
1
原创 关于多线程中的ThreadLocal
ThreadLocal介绍概念:官方描述:该类提供了线程局部(thread-local)变量。这些变量不同于它们的普通对应物,因为访问某个变量(通过其get或set方法)的每个线程都有自己的局部变量,它独立于变量的初始化副本。ThreadLocal实例通常是类中的private static字段,它们希望将状态与某一个线程(例如,用户ID或事务ID)相关联。自己简单理解:ThreadLocal是每个线程自己维护的一个存储对象的数据结构,线程间互不影响实现线程封闭。一般我们通过ThreadLocal对
2020-11-11 15:56:33
655
6
原创 基于grpc协议的微服务架构grpc-nebula
前言最近开发了一个基于grpc协议的微服务框架grpc-nebula的一个项目,此微服务框架已经开源但是比较小众,今天就简单分享下这个微服务架构。grpc-nebula分为java版本和c++版本,本次就只分享java版本的。虽然自己在工作中用不到,但是多了解些并且和自己所用框架进行对比,能够加深自己对微服务框架的理解程度以及拓宽知识的宽度。微服务框架介绍grpc简介grpc是一个多语言、高性能、开源的通用远程过程调用(RPC)框架。来自于Google的开源项目,2016年8月19日发布了成熟的
2020-11-10 00:17:39
6102
25
原创 关于分布式事务之2PC(两阶段提交)
概念:2PC即两阶段提交协议,是将整个事务流程分为两个阶段,准备阶段(Prepare phase)、提交阶段(commitphase),2是指两个阶段,P是指准备阶段,C是指提交阶段。运行过程准备阶段:事务协调者询问参与者事务是否执行成功,参与者返回事务执行结果,此时事务并未提交。提交阶段:若所有参与者事务都执行成功,则事务协调者通知参与者事务提交事务;否则,事务协调者通知参与者回滚事务。XA接口规范协议XA接口规范协议是一个分布式事务协议,它的基础是两阶段提交协议(2PC)。X
2020-11-09 11:33:57
1200
6
原创 关于Java的自动拆装箱以及会带来的问题
首先介绍下几个基本的概念基本数据类型基本数据类型,是Java中不同类(Class)的特殊类型。它是我们编程中使用最频繁的类型。JJava是一种强类型语言,第一次申明变量必须说明数据类型,第一次变量赋值称为变量的初始化。Java基本烈性总共是8种,可以分为3类,如下:字符类型 char布尔类型 boolean数值类型 byte、short、int、long、float、double数值类型又可以分为整数类型byte、short、int、long和浮点类型float和double。Jav
2020-11-06 01:47:46
1020
4
原创 幂等性的实现方案
我们实际系统中有很多操作,是不管做多少次,都应该产生一样的效果或返回一样的结果的。举几个例子:1、当我们付款时,如果发生网络问题导致重发或者系统bug重发,也是应该只扣一次钱;2、同样的信息发给哦那个胡,应该也只是发送一次3、在创建业务订单时一次业务请求只能创建一个概念:幂等(Idempotent)是一个数学与计算机学的概念,常见于抽象代数中。f(n) = 1^n // 无论n等于多少,f(n)永远值等于1在编程中,一个幂等操作的特点是其任意多次执行所产生的影响均与一次执行的影响相同。幂等函
2020-11-04 19:17:48
510
6
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人