博客园 - Blue Mountain
uuid:7d267088-5232-4821-9010-8cd5fdd6cd4f;id=1081553
2024-03-28T04:01:12Z
Blue Mountain
https://www.cnblogs.com/BlueMountain-HaggenDazs/
feed.cnblogs.com
https://www.cnblogs.com/BlueMountain-HaggenDazs/p/17570971.html
个人随笔 —— 基于 go 语言实现的轻量化分布式调度引擎 workflow - Blue Mountain
背景 组内有很多项目都涉及复杂的任务流场景: 集群创建、删除等生命周期管理 k8s 资源申请销毁 .... 这些场景都有几个共同的特点: 流程耗时且步骤复杂,需要几十步操作,其中包含云资源申请、脚本执行、接口调用等,且相互存在依赖关系。 任务量随着业务增长而快速迭代,比如每个集群每天都会自动备份等任
2023-07-21T04:12:00Z
2023-07-21T04:12:00Z
Blue Mountain
https://www.cnblogs.com/BlueMountain-HaggenDazs/
【摘要】背景 组内有很多项目都涉及复杂的任务流场景: 集群创建、删除等生命周期管理 k8s 资源申请销毁 .... 这些场景都有几个共同的特点: 流程耗时且步骤复杂,需要几十步操作,其中包含云资源申请、脚本执行、接口调用等,且相互存在依赖关系。 任务量随着业务增长而快速迭代,比如每个集群每天都会自动备份等任 <a href="https://www.cnblogs.com/BlueMountain-HaggenDazs/p/17570971.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/BlueMountain-HaggenDazs/p/17171251.html
个人随记 —— 记录一次服务链接泄露路程 - Blue Mountain
问题描述 该团队最近一次发布后,pod 一天会重启40次左右,时间间隔固定,代码回退后发现依旧会有重启,跟发布前一样,但是时间间隔较长。 问题分析 出现该问题,说明程序有一定的 BUG,一般来说是内存泄露可能性较多,积累到一定阈值后,便会发生 oom 导致重启。 通过监控发现在有问题的版本中内存确实
2023-03-02T03:36:00Z
2023-03-02T03:36:00Z
Blue Mountain
https://www.cnblogs.com/BlueMountain-HaggenDazs/
【摘要】问题描述 该团队最近一次发布后,pod 一天会重启40次左右,时间间隔固定,代码回退后发现依旧会有重启,跟发布前一样,但是时间间隔较长。 问题分析 出现该问题,说明程序有一定的 BUG,一般来说是内存泄露可能性较多,积累到一定阈值后,便会发生 oom 导致重启。 通过监控发现在有问题的版本中内存确实 <a href="https://www.cnblogs.com/BlueMountain-HaggenDazs/p/17171251.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/BlueMountain-HaggenDazs/p/17149681.html
个人随记 —— 不同 VPC 下 EKS 跨集群服务访问 - Blue Mountain
# 背景 在本文的问题前,需要对 AWS 的产品进行解释: * VPC:Virtual Private Cloud,AWS 在单 region 下提供的私有网络,每个 VPC 都拥有一个独立网段,并且和其他 VPC 进行完全的私网隔离- * EC2:Elastic Compute Cloud,AWS
2023-02-23T14:19:00Z
2023-02-23T14:19:00Z
Blue Mountain
https://www.cnblogs.com/BlueMountain-HaggenDazs/
【摘要】# 背景 在本文的问题前,需要对 AWS 的产品进行解释: * VPC:Virtual Private Cloud,AWS 在单 region 下提供的私有网络,每个 VPC 都拥有一个独立网段,并且和其他 VPC 进行完全的私网隔离- * EC2:Elastic Compute Cloud,AWS <a href="https://www.cnblogs.com/BlueMountain-HaggenDazs/p/17149681.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/BlueMountain-HaggenDazs/p/17124731.html
个人随记 —— GCP Cloud SQL 的 Private Service Connect 访问方案 - Blue Mountain
一句话简述问题 GCP Cloud SQL 服务并没有官方提供 Private Service Connect 的链接通路,需要手动配置。 方案设计 如图所示,需要申请规划 VPC、Subnet、Security Group Cloud SQL Instance Group NLB Private
2023-02-15T13:15:00Z
2023-02-15T13:15:00Z
Blue Mountain
https://www.cnblogs.com/BlueMountain-HaggenDazs/
【摘要】一句话简述问题 GCP Cloud SQL 服务并没有官方提供 Private Service Connect 的链接通路,需要手动配置。 方案设计 如图所示,需要申请规划 VPC、Subnet、Security Group Cloud SQL Instance Group NLB Private <a href="https://www.cnblogs.com/BlueMountain-HaggenDazs/p/17124731.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/BlueMountain-HaggenDazs/p/17107562.html
个人随记 —— MySQL 数据同步方案思考 - Blue Mountain
背景 在灾备、读写分离等数据同步场景中,同步延迟越低,越能应用在更多场景之中,RPO 和 RTO 最好能无限趋近于 0。 但是这需要下游数据库的平均吞吐能力大于上游平均吞吐能力。实际上一般备集群、只读集群的规格其实是小于主集群的,所以在并发度较低时,提升并发度是提升吞吐的有效手段。 MySQL 官方
2023-02-09T16:09:00Z
2023-02-09T16:09:00Z
Blue Mountain
https://www.cnblogs.com/BlueMountain-HaggenDazs/
【摘要】背景 在灾备、读写分离等数据同步场景中,同步延迟越低,越能应用在更多场景之中,RPO 和 RTO 最好能无限趋近于 0。 但是这需要下游数据库的平均吞吐能力大于上游平均吞吐能力。实际上一般备集群、只读集群的规格其实是小于主集群的,所以在并发度较低时,提升并发度是提升吞吐的有效手段。 MySQL 官方 <a href="https://www.cnblogs.com/BlueMountain-HaggenDazs/p/17107562.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/BlueMountain-HaggenDazs/p/17071343.html
个人随记 —— AWS RDS 的 Private Link 访问方案 - Blue Mountain
一句话简述问题 AWS RDS 服务并没有官方提供 private link 的链接通路,需要手动配置。 方案设计 如图所示,需要申请规划 VPC、Subnet、Security Group RDS-MySQL Proxy NLB Private Link Service 最后通过在需要访问 RDS
2023-01-28T13:46:00Z
2023-01-28T13:46:00Z
Blue Mountain
https://www.cnblogs.com/BlueMountain-HaggenDazs/
【摘要】一句话简述问题 AWS RDS 服务并没有官方提供 private link 的链接通路,需要手动配置。 方案设计 如图所示,需要申请规划 VPC、Subnet、Security Group RDS-MySQL Proxy NLB Private Link Service 最后通过在需要访问 RDS <a href="https://www.cnblogs.com/BlueMountain-HaggenDazs/p/17071343.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/BlueMountain-HaggenDazs/p/17071303.html
个人随记 —— gRPC 在 k8s 中的负载均衡 - Blue Mountain
问题描述 微服务架构越来越流行,很多系统采用了 gRPC 进行微服务间的通信,在 k8s 下,自然而然就采用 Service 来实现负载均衡。 但是在观测 gRPC 流量时,发现服务的 gRPC 流量并不均衡,极端场景下出现流量95%都集中在其中一个 server 上,登录到 server 上去观察
2023-01-28T13:24:00Z
2023-01-28T13:24:00Z
Blue Mountain
https://www.cnblogs.com/BlueMountain-HaggenDazs/
【摘要】问题描述 微服务架构越来越流行,很多系统采用了 gRPC 进行微服务间的通信,在 k8s 下,自然而然就采用 Service 来实现负载均衡。 但是在观测 gRPC 流量时,发现服务的 gRPC 流量并不均衡,极端场景下出现流量95%都集中在其中一个 server 上,登录到 server 上去观察 <a href="https://www.cnblogs.com/BlueMountain-HaggenDazs/p/17071303.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/BlueMountain-HaggenDazs/p/9039968.html
Mybatis3.3——源码阅读笔记 - Blue Mountain
# Mybatis——Source阅读笔记 [TOC] 安利一个工具,可以直接生产单表的mapper xml,直接有GUI。可以直接运行 https://github.com/zouzg/mybatis-generator-gui ## 兵马未动,日志先行 ![](https://images201
2018-05-15T03:15:00Z
2018-05-15T03:15:00Z
Blue Mountain
https://www.cnblogs.com/BlueMountain-HaggenDazs/
【摘要】# Mybatis——Source阅读笔记 [TOC] 安利一个工具,可以直接生产单表的mapper xml,直接有GUI。可以直接运行 https://github.com/zouzg/mybatis-generator-gui ## 兵马未动,日志先行 ![](https://images201 <a href="https://www.cnblogs.com/BlueMountain-HaggenDazs/p/9039968.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/BlueMountain-HaggenDazs/p/9039927.html
Mybatis3——使用学习(二) - Blue Mountain
#### 高级结果映射 一个超级复杂的联表查询语句 ```xml ``` ```xml ``` resultMap元素有很多子元素和一个值得讨论的结构。下面是resultMap元素的概念视图。 - `constructor`- 用于在实例化类时,注入结果到构造方法中 - `idArg` -
2018-05-15T03:09:00Z
2018-05-15T03:09:00Z
Blue Mountain
https://www.cnblogs.com/BlueMountain-HaggenDazs/
【摘要】#### 高级结果映射 一个超级复杂的联表查询语句 ```xml ``` ```xml ``` resultMap元素有很多子元素和一个值得讨论的结构。下面是resultMap元素的概念视图。 - `constructor`- 用于在实例化类时,注入结果到构造方法中 - `idArg` - <a href="https://www.cnblogs.com/BlueMountain-HaggenDazs/p/9039927.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/BlueMountain-HaggenDazs/p/9039440.html
Mybatis3——使用学习(一) - Blue Mountain
# Mybatis [TOC] ## Mybatis参考资源 Mybatis官网手册:http://www.mybatis.org/mybatis-3/zh/getting-started.html ## Mybatis 使用 ### 肯定TM要跑起来 项目结构 ![](https://imag
2018-05-15T02:03:00Z
2018-05-15T02:03:00Z
Blue Mountain
https://www.cnblogs.com/BlueMountain-HaggenDazs/
【摘要】# Mybatis [TOC] ## Mybatis参考资源 Mybatis官网手册:http://www.mybatis.org/mybatis-3/zh/getting-started.html ## Mybatis 使用 ### 肯定TM要跑起来 项目结构 ![](https://imag <a href="https://www.cnblogs.com/BlueMountain-HaggenDazs/p/9039440.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/BlueMountain-HaggenDazs/p/5833174.html
国赛经验总结 - Blue Mountain
国赛取得第四名,不是很理想,反思总结一些原因,心得,供未来的自己吸取经验。 一、客观原因: 1、 比赛前,主车已经封车,但因为驱动板可能设计有点问题,让队友重新画了一块,但比赛前2天才搞定,然后就直接装上去进行测试,结果没有静电处理,车子直接装到墙角,由于板子定位孔布局有毒,导致底板的强化筋全部剪除,所以硬度下降,5M/s的速度撞到墙角,导致底板变形,从而达不到极限速度。拯救两天,...
2016-09-02T05:24:00Z
2016-09-02T05:24:00Z
Blue Mountain
https://www.cnblogs.com/BlueMountain-HaggenDazs/
【摘要】国赛取得第四名,不是很理想,反思总结一些原因,心得,供未来的自己吸取经验。 一、客观原因: 1、 比赛前,主车已经封车,但因为驱动板可能设计有点问题,让队友重新画了一块,但比赛前2天才搞定,然后就直接装上去进行测试,结果没有静电处理,车子直接装到墙角,由于板子定位孔布局有毒,导致底板的强化筋全部剪除,所以硬度下降,5M/s的速度撞到墙角,导致底板变形,从而达不到极限速度。拯救两天,... <a href="https://www.cnblogs.com/BlueMountain-HaggenDazs/p/5833174.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/BlueMountain-HaggenDazs/p/5772689.html
智能车学习(二十三)——浅谈心得体会 - Blue Mountain
因为毕竟是竞赛,跟学校挂钩,没办法开源代码和算法完成思路,所以不能详细写太多,如果可以等价交换的话,应该还是可以向领导申请一下的。 在厦大信科通信系,参加这个比赛,大家都觉得性价比太低,毕竟这个系,学霸太多,能力太强,课程多,分数还必须要高,如果参加这种要花大半年的时间来准备,但是却只能抱着不确定性拿奖的比赛,对于那些拼保研名额的同学简直有点太过于奢侈。所以基本上选择了创...
2016-08-15T05:54:00Z
2016-08-15T05:54:00Z
Blue Mountain
https://www.cnblogs.com/BlueMountain-HaggenDazs/
【摘要】因为毕竟是竞赛,跟学校挂钩,没办法开源代码和算法完成思路,所以不能详细写太多,如果可以等价交换的话,应该还是可以向领导申请一下的。 在厦大信科通信系,参加这个比赛,大家都觉得性价比太低,毕竟这个系,学霸太多,能力太强,课程多,分数还必须要高,如果参加这种要花大半年的时间来准备,但是却只能抱着不确定性拿奖的比赛,对于那些拼保研名额的同学简直有点太过于奢侈。所以基本上选择了创... <a href="https://www.cnblogs.com/BlueMountain-HaggenDazs/p/5772689.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/BlueMountain-HaggenDazs/p/5772599.html
智能车学习(二十二)——浅谈速度控制 - Blue Mountain
一、经典PID控制 使用遇限反向PID会比较适合有加减速的车子,使用变速积分适合跑匀速的车子。然后这种方法的条件下,一定要尽可能缩短控制周期。。 二、PID加棒棒控制 针对C车,因为电机太弱了。所以可以使用棒棒进行加减速可以有效的提升车子性能。一般推荐控制周期10ms 三。模糊控制
2016-08-15T05:32:00Z
2016-08-15T05:32:00Z
Blue Mountain
https://www.cnblogs.com/BlueMountain-HaggenDazs/
【摘要】一、经典PID控制 使用遇限反向PID会比较适合有加减速的车子,使用变速积分适合跑匀速的车子。然后这种方法的条件下,一定要尽可能缩短控制周期。。 二、PID加棒棒控制 针对C车,因为电机太弱了。所以可以使用棒棒进行加减速可以有效的提升车子性能。一般推荐控制周期10ms 三。模糊控制 <a href="https://www.cnblogs.com/BlueMountain-HaggenDazs/p/5772599.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/BlueMountain-HaggenDazs/p/5772590.html
智能车学习(二十一)——浅谈CCD交叉以及横线摆放 - Blue Mountain
一、CCD为何要交叉摆放? 首先使用横线摆放,CCD前瞻如果远一点,弯道丢线,再远一点直接窜道。所以需要很多很多代码的工作量,而且过弯的过程相当于没有任何的调节过程,就是一个偏差保持,或者就是根据前面拟合(三次样条效果可以),但是终究是盲跑,写得好就跑的好,写不好各种窜道,各种问题。 其次可能会想到加个舵机做摇头CCD,想法很好,就是会重了那么一点点,就是会很容易不对称...
2016-08-15T05:28:00Z
2016-08-15T05:28:00Z
Blue Mountain
https://www.cnblogs.com/BlueMountain-HaggenDazs/
【摘要】一、CCD为何要交叉摆放? 首先使用横线摆放,CCD前瞻如果远一点,弯道丢线,再远一点直接窜道。所以需要很多很多代码的工作量,而且过弯的过程相当于没有任何的调节过程,就是一个偏差保持,或者就是根据前面拟合(三次样条效果可以),但是终究是盲跑,写得好就跑的好,写不好各种窜道,各种问题。 其次可能会想到加个舵机做摇头CCD,想法很好,就是会重了那么一点点,就是会很容易不对称... <a href="https://www.cnblogs.com/BlueMountain-HaggenDazs/p/5772590.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/BlueMountain-HaggenDazs/p/5772545.html
智能车学习(二十)——浅谈C车硬连接与软连接 - Blue Mountain
一、为何要追求软连接? 车子进行软连接之后,可以达到一种效果,就是在高速过程中,车子如果快要发生侧翻的时候,只会跳一个后轮,且只是轻微,而前轮如果进行的内倾,就可以让前轮最大面积接触,增大摩擦力,在这种调节下,可以保持高速而不会翻车,且不会减速,增加过弯速度。然后还有在过陂的时候,可以有减震的作用(说到底就是C车电机太差了 = = )。 但存在一种情况。。电机过分差的时...
2016-08-15T05:06:00Z
2016-08-15T05:06:00Z
Blue Mountain
https://www.cnblogs.com/BlueMountain-HaggenDazs/
【摘要】一、为何要追求软连接? 车子进行软连接之后,可以达到一种效果,就是在高速过程中,车子如果快要发生侧翻的时候,只会跳一个后轮,且只是轻微,而前轮如果进行的内倾,就可以让前轮最大面积接触,增大摩擦力,在这种调节下,可以保持高速而不会翻车,且不会减速,增加过弯速度。然后还有在过陂的时候,可以有减震的作用(说到底就是C车电机太差了 = = )。 但存在一种情况。。电机过分差的时... <a href="https://www.cnblogs.com/BlueMountain-HaggenDazs/p/5772545.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/BlueMountain-HaggenDazs/p/5772518.html
智能车学习(十九)——硬件电路设计 - Blue Mountain
一、摘要 在华南赛之后,重新对车子进行布局,设计车模结构之后,实测一切OK,匀速可以达到3米2的水平。(直道少,连续弯居多),但需要驱动主板集成 二、板子展览
2016-08-15T04:42:00Z
2016-08-15T04:42:00Z
Blue Mountain
https://www.cnblogs.com/BlueMountain-HaggenDazs/
【摘要】一、摘要 在华南赛之后,重新对车子进行布局,设计车模结构之后,实测一切OK,匀速可以达到3米2的水平。(直道少,连续弯居多),但需要驱动主板集成 二、板子展览 <a href="https://www.cnblogs.com/BlueMountain-HaggenDazs/p/5772518.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/BlueMountain-HaggenDazs/p/5772511.html
智能车学习(十八)——电机学习 - Blue Mountain
一、C车电机选择 1、摘要: 因为C车模在四轮车的优势是有两个电机,可以进行主动差速,劣势是电机太弱了。。。。所以如何选择电机,就是个钱的问题了,电机多一点,就比较好选,但是C车电机跑多了就会变的很弱很弱。所以请准备好钞票。 2、选择方法: (1) 使用恒流源,配合单片机程序,测试出,对应电压的电流和转速,一般采样10个点即可,正反转都要 (2)使用Matlab进行相关性拟...
2016-08-15T04:35:00Z
2016-08-15T04:35:00Z
Blue Mountain
https://www.cnblogs.com/BlueMountain-HaggenDazs/
【摘要】一、C车电机选择 1、摘要: 因为C车模在四轮车的优势是有两个电机,可以进行主动差速,劣势是电机太弱了。。。。所以如何选择电机,就是个钱的问题了,电机多一点,就比较好选,但是C车电机跑多了就会变的很弱很弱。所以请准备好钞票。 2、选择方法: (1) 使用恒流源,配合单片机程序,测试出,对应电压的电流和转速,一般采样10个点即可,正反转都要 (2)使用Matlab进行相关性拟... <a href="https://www.cnblogs.com/BlueMountain-HaggenDazs/p/5772511.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/BlueMountain-HaggenDazs/p/5772316.html
智能车学习(十七)——舵机学习 - Blue Mountain
一、舵机的结构 舵机简单的说就是集成了直流电机、电机控制器和减速器等,并封装在一个便于安装的外壳里的伺服单元。能够利用简单的输入信号比较精确的转动给定角度的电机系统。舵机安装了一个电位器(或其它角度传感器)检测输出轴转动角度,控制板根据电位器的信息能比较精确的控制和保持输出轴的角度。这样的直流电机控制方式叫闭环控制,所以舵机更准确的说是伺服马达,英文servo。 二、舵机...
2016-08-15T03:29:00Z
2016-08-15T03:29:00Z
Blue Mountain
https://www.cnblogs.com/BlueMountain-HaggenDazs/
【摘要】一、舵机的结构 舵机简单的说就是集成了直流电机、电机控制器和减速器等,并封装在一个便于安装的外壳里的伺服单元。能够利用简单的输入信号比较精确的转动给定角度的电机系统。舵机安装了一个电位器(或其它角度传感器)检测输出轴转动角度,控制板根据电位器的信息能比较精确的控制和保持输出轴的角度。这样的直流电机控制方式叫闭环控制,所以舵机更准确的说是伺服马达,英文servo。 二、舵机... <a href="https://www.cnblogs.com/BlueMountain-HaggenDazs/p/5772316.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/BlueMountain-HaggenDazs/p/5653644.html
智能车学习(十六)——CCD学习 - Blue Mountain
一、使用硬件 1、兰宙CCD四代 优点:可以调节运放来改变放大倍数 缺点:使用软排线(容易坏),CCD容易起灰,需要多次调节 2、野火K60底层 二、CCD硬件电路 (1)积分电路:使用一个运放,加上配合的电阻以及电容搭配程的积分电路 (2)放大器:使用运放构成一个线性放大器 (3)滤波器: 三、CCD使用K60进...
2016-07-08T07:51:00Z
2016-07-08T07:51:00Z
Blue Mountain
https://www.cnblogs.com/BlueMountain-HaggenDazs/
【摘要】一、使用硬件 1、兰宙CCD四代 优点:可以调节运放来改变放大倍数 缺点:使用软排线(容易坏),CCD容易起灰,需要多次调节 2、野火K60底层 二、CCD硬件电路 (1)积分电路:使用一个运放,加上配合的电阻以及电容搭配程的积分电路 (2)放大器:使用运放构成一个线性放大器 (3)滤波器: 三、CCD使用K60进... <a href="https://www.cnblogs.com/BlueMountain-HaggenDazs/p/5653644.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/BlueMountain-HaggenDazs/p/5095807.html
数字信号处理实验(一)——DTFT - Blue Mountain
1、MATLAB自编绘图函数 function [] = signal_write(X,w,flag) % X:数据 % w:频率向量 magX=abs(X);angX=angle(X); realX=real(X);imagX=imag(X); if(flag == 1) figure(); magX=abs(X);angX=angle(X); realX...
2016-01-03T01:53:00Z
2016-01-03T01:53:00Z
Blue Mountain
https://www.cnblogs.com/BlueMountain-HaggenDazs/
【摘要】1、MATLAB自编绘图函数 function [] = signal_write(X,w,flag) % X:数据 % w:频率向量 magX=abs(X);angX=angle(X); realX=real(X);imagX=imag(X); if(flag == 1) figure(); magX=abs(X);angX=angle(X); realX... <a href="https://www.cnblogs.com/BlueMountain-HaggenDazs/p/5095807.html" target="_blank">阅读全文</a>