0

撸个Spring Boot中的starter,解密自动化配置

starter背景Spring Boot目前已经变成了后端开发者必备技能之一,其中一个主要原因是Spring Boot中有个非常重要的机制(starter机制)。starter能够抛弃以前繁杂的配置,将其统一集成进starter,使用的时候只需要在maven中引入对应的starter依赖即可,Spring Boot就能自动扫描到要加载的信息并启动相应的默认配置。starter让我们摆脱了各种依赖库的处理,以及各种配置信息的烦恼。SpringBoot会自动通过classpath路径下的类发现需要的Bean,并注册进IOC容器。Spring Boot提供了针对日常企业应用研发各种场景的spring...

阅读全文>>

0

Spring Boot搭建 ELK,这才是正确看日志的方式

在看大型网站的中间件技术,对于Elasticsearch有点兴趣,所以将配置流程记录了一下。为什么要用ELK“ELK实际上是三个工具,Elastricsearch + LogStash + Kibana,通过ELK,用来收集日志还有进行日志分析,最后通过可视化UI进行展示。一开始业务量比较小的时候,通过简单的SLF4J+Logger在服务器打印日志,通过grep进行简单查询,但是随着业务量增加,数据量也会不断增加,所以使用ELK可以进行大数量的日志收集和分析”简单画了一下架构图在环境配置中,主要介绍Mac和linux配置,windows系统大致相同,当然,前提是大家都安装了JDK1.8及以上版...

阅读全文>>

0

使用Debezium、Postgres和Kafka进行数据实时采集(CDC)

1. 背景一直在完善自己的微服务架构,其中包含分布式工作流服务的建设,目前采用的是Camunda工作流引擎。使用Camunda工作流,就会涉及到工作流引擎的用户体系如何与现有用户体系集成的问题(Flowable、Activity也类似)。现有设计中,工作流定位偏重于企业内部流程的流转,因此系统中设计了单位、部门、人员以及人事归属与Camunda工作流用户体系对应。功能设计完成,就面临另外一个问题,如何解决现有人事体系数据如何【`实时`】同步至Camunda工作流引擎中。如果现有体系数据与工作流数据在同一个库中,相对比较好解决。而微服务架构中,不同服务的数据通常存放在不同数据库中,那么就需要进行...

阅读全文>>

0

zabbix 5系列之微信实时告警

1. 微信报警: Zabbix除了可以使用邮件报警和钉钉告警之外,还可以通过微信报警,或者只要有api,你能想到的告警方式,zabbix都能实现。越灵活的告警机制越能及时有效地把告警信息推送到负责人,方便及时处理问题。 看这篇文章之前,最好看我的上篇钉钉告警,因为在这篇文章中,媒介的设置,动作的设置等介绍得比较简单,主要是功能实现,在上篇文章中,每个参数都有详细介绍。 zabbix 5系列之钉钉实时告警 1.1 微信企业号注册: 企业号注册地址:https://qy.weixin.qq.com/填写企业注册信息,个人也可以申请,不进行...

阅读全文>>

0

.NET 6 新特性 System.Text.Json 中的 Writeable DOM

.NET 6 新特性 System.Text.Json 中的 Writeable DOM 特性Intro在 .NET 6 Preview 4 中,微软加入了 JSON Node 的支持,我们可以动态的编辑一个 JSON 文档,一个可以修改的 JSON 文档,就像 Newtonsoft.Json 里的 JToken,这样我们就可以更加灵活的操作一个 JSON 了。主要新增的 API 如下:JsonNode: JSON 文档中的一个节点,对应 Newtonsoft.Json 里的 JTokenJsonObject: JSON 对象,对应 Newtonsoft.Json 里的 JObjectJson...

阅读全文>>

0

自己搭建一个网站需要多少钱

如果是自己搭建网站,可以选择网上免费的开源CMS系统,自带模板,只需要到阿里云、腾讯云、西部数码等商家购买域名和空间,不懂后台程序也没有关系统,也不用学习做前端设计,只要会打字就可以建网站,这种费用比较便宜,也就几百元买空间和域名。当然网站要有效果,建设还是找专业的建站公司或个人技术员,这种方式做出来的网站,是完全符合自己的要求,也适用于现在互联网环境,对搜索引擎规则更友好,搭建这样的网站是能帮我拉业务的,相当于我们的业务员一样,当然,收费会比自己建网站要高许多,毕竟找人,就涉及人员成本和公司运营成本,一般简单的宣传型企业网站起步价格要2000元。1、域名注册域名就是我们常说的网址,费用是每年...

阅读全文>>

0

MyBatisPlus集成

1-5 MyBatisPlus集成  接下来我们完成一个品牌的CRUD操作、我们会集成MyBatisPlus来实现。1、MyBatis Plus介绍  MyBatis-Plus(简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。MyBatis Plus特性:无侵入:只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑损耗小:启动即会自动注入基本 CURD,性能基本无损耗,直接面向对象操作强大的 CRUD 操作:内置通用 Mapper、通用 Service,仅仅通过少量配置即可实现单表大部分 CRUD 操作,更有强大的条...

阅读全文>>

0

Nanoid - 可能会取代 UUID 的ID产生器

UUID以前开发时用得多了,它很好用,不过,现在有个强力的挑战者:Nanoid。Nanoid已经可以在多种语言C#, C++, Clojure and ClojureScript, Crystal, Dart & Flutter, Deno, Go, Elixir, Haskell, Janet, Java, Nim, Perl, PHP, Python with dictionaries, Ruby , Rust, Swift里使用,下面例子以c#代码编写。一 安装Install-Package Nanoid二 默认使用for (var i = 0; i < 1000; i++...

阅读全文>>

0

为第三方HTTP协议依赖增加Hystrix保护你的系统

为第三方HTTP协议依赖增加Hystrix保护你的系统前言后端开发的很多同学应该都有过调用第三方HTTP协议服务的经验。比如调用百度查询经纬度编码信息、调用豆瓣查询时下热门电影、调用7牛云存储接口上传文件等;以及公司内部其他小组开放的服务接口。常见开发模式是我们按照服务提供方定义的接口文档进行接口调用开发。在java中常见的HTTP客户端库有:java中常见的HTTP客户端库你的第三方依赖挂了怎么办?系统并发很高的情况下,我们依赖的第三方服务挂了,调用HTTP协议接口超时线程阻塞一直得不到释放,系统的线程资源很快被耗尽,导致整个系统不可用。试想一下如果业务系统中我们依赖的第三方服务只是一个增强...

阅读全文>>

1

win11 dev 开发版 升级攻略完整版

面向 Dev 频道用户,今天微软推出了首个 Windows 11 预览版本 -- Build 22000.51。虽然在 6 月 24 号发布会上宣布的大部分新功能已经进入新版本,但依然存在某些功能缺失,在公告中,微软还罗列了该版本的一些已知问题,并对最低硬件配置进行了澄清。注意了这个版本目前不支持 Android 应用的支持小编一大早也顺利地用上了 Windows 11 预览版本 -- Build 22000.51,下面给大家呈现上具体的升级步骤前提: 使用微软的官方检测工具检测下,看自己的PC 是否支持升级WIN11上面的那句话有待验证,有的小伙伴说 官方的检测工具有BUG ,硬件不支持也能...

阅读全文>>