Blog Articles
-
一个spark app demo
安装完环境, 现在是时候写一个demo项目了 需求就是打印出上传到hdfs中的日志行数. 依赖 需要用到spark-sql库, 先查看一下spark目录下sql版本: spark-2.4.3-bin-hadoop2.7/jars/spark-sql_2.11-2.4.3.jar 那么在程序中引用相同的库 <dependency> <grou...
Published on: -
使用Redisson操作分布式队列的注意事项
先说结论: 使用Redisson提供了集合操作时, 比较操作不使用对象的equals, 而是使用二制进行比较. 最近做一个定时任务的服务, 需要用到分布式优先级队列, 选择了Redisson库. Redisson的队列有很多, 也都继承了java包的Queue接口, 看起来非常方便. 修改代码后, 发现一个很奇怪的问题, 将一个元素加进去之后, 移除不了, remove 返回了false. 元素...
Published on: -
spring cloud gateway 配置分析
srping cloud gateway 版本: 2.0.2 自动配置类列表spring.factories # Auto Configure org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ org.springframework.cloud.gateway.config.GatewayClassPathWarnin...
Published on: -
微服务基于请求的异步日志跟踪
在&amp;lt;&amp;lt;微服务基于请求的日志跟踪&amp;gt;&amp;gt;上设计了基于请求的微服务日志处理方法, 但是发现在log4j处于异步的情况下会失效, 原因是RequestId无法从原线程传输到打印日志的线程, 异步情况下(AsyncLoggerConfig), 日志先被enqueue到一个队列,然后若干线程去消费这个队列, 因为跨了线程,所以不能通过线程变量传递过去. 查看了相关代码, 发现log4j首...
Published on: -
微服务网关spring cloud gateway
<p>文档:<br /> <a href="https://cloud.spring.io/spring-cloud-static/spring-cloud-gateway/2.0.2.RELEASE/single/spring-cloud-gateway.html" target="_blank">https://cloud.spring.io/spring-cloud-static/spring-cloud-gateway/2.0.2.RELEASE/single/spring-cloud-gatewa
Published on: -
微服务基于请求的日志跟踪
<h1><a id="_0"></a>需求</h1> <p>自从公司采用微服务架构以后,日志不好看了, 虽然已经把所有日志都收集到了elk, 但是因为一个前端的请求通过N个服务,导致日志分布很零乱,没有办法显示这一个请求相关的日志,所以需要开发一点小功能来实现单个请求的跟踪.</p> <h1><a id="_3"></a>设计</h1> <p>基本的想法是, 对每个请求设置一个RequestId, 然后让这个id跟随请求传输到每个服务,进而打印到日志中. 需要解决以下问题:<br /> 1.请求id的隔离;
Published on: -
RocketMq ConsumerGroup Tag对消费的影响
<p>官方对consumer的定义如下:<br /> Similar to previously mentioned producer group, consumers of the exactly same role are grouped together and named Consumer Group.<br /> Consumer Group is a great concept with which achieving goals of load-balance and fault-tolera
Published on: -
thymeleaf (1) 环境配置
引入 简单博客页面,使用vue开发,发现不好做SEO, 打算用thymeleaf再写下。 导入相当简单: implementation 'org.springframework.boot:spring-boot-starter-thyme
Published on: -
mysql 快速数据导出与导入
背景 最近需要做表数据的更新,从几个表中抽取数据插入到新表,大概就是: insert into table_a(c1,c2 ...) select x1,x2.... from table_b join table_c on ...
Published on: -
ubuntu 安装mysql
ubuntu安装mysql非常简单,主要安装后要自己找下密码。 sudo apt install mysql-server 找到密码 sudo cat /etc/mysql/debian.cnf 显示如下: # Automatically genera
Published on: