解决CentOS7种yum源版本过低的问题

最近准备在自己服务器上玩玩docker,把网站都用docker部署下,用ELK技术栈分析一下服务器上的日志。服务器是大学里搭的,版本是CentOS6,这次重装了系统升级到CentOS7,遇到的最头疼的问题就是装软件。因为自己在Mac上有homebrew,装啥软件都很爽,基本上软件都是最新的,但是CentOS非常保守,官方的软件库里软件版本都非常低,yum装了发现很多东西都用不了。比如tmux,官方仓库版本仍然是1.8,已经不支持tmux-plugin的功能了。所以这篇文章记录一下自己解决这个问题的过程。

CentOS7配置官方软件仓库(yum软件源)

Read More

告别24岁,告别理想,告别2020

——花有重开日,我仍是少年

六年前,他第一次打开Windows上的CMD窗口,从此一头扎进了程序的世界里。于是在其他人忙着玩游戏、加社团、谈恋爱的时候,多少个初夏严冬,多少个良宵的雨夜,他享受着台扇吹来的微风,码起了一行行代码。

Read More

AE在WebPush技术中的探索之路

之前几个月在做的WebPush项目,最早接入Firebase的方案,看了一下官方的demo觉得这个需求应该还是很简单的,直到做的过程中遇到fcm token失效的各种坑,以及AE多语言站点的问题,可以说是一路坎坷。

由于国内连不上谷歌服务,而谷歌的Chrome市场占有率又是最大的,所以国内基本上很少看到有做WebPush的网站,也正因此关于WebPush的中文资料寥寥无几,可以借鉴的网站都是国外的。我们前端接了Firebase的SDK由于体积太大了,移动端也被迫下线,真是屋漏偏逢连夜雨。

Read More

从谷歌Dapper到阿里EagleEye

1、分布式链路追踪技术解决的问题

  • 分布式系统服务非常多,很复杂
  • 每个服务可能由不同项目组开发,没有一个人能详细地了解所有的系统。
  • 每个服务都可能集群部署,有很多台机器,整个系统可能有成千上万台机器。
  • 服务可能由不同语言开发的。
  • 当需要了解系统的整体表现或系统瓶颈时,需要知道整个调用链路的每个部分的耗时情况。
  • 当一次链路过程调用出错了,需要知道具体是哪个服务的哪一台机器出错,而不是到每一台机器上去看日志。

Read More

从Pandora到PandoraBoot

看过Pandora文档的一些介绍——轻量级的依赖隔离容器,在我脑子里浮现了这几个名词:Tomcat部署多应用、OSGI、Java9模块化。谷歌“依赖隔离”这个关键词出来的结果:类加载机制、蚂蚁开源的sofa-ark。所以读了很多文章想看看这些名词之间有什么联系。

1、从Tomcat说起

Read More

从notify和metaq初窥消息队列的前世今生

上一家公司并没有用消息队列中间件,大学里对ActiveMQ有所了解但并未深入研究,RocketMQKafka也一直囿于听闻。不过在原来的项目中经常会用Redis的list实现一个分布式的阻塞队列。在短信营销任务中,会将服务的同步调用改为异步任务存入队列表,Worker批量调度以提高吞吐量,并降低大促期间大批量短信同步调用带来的压力。我觉得后面这一点也非常接近消息队列所要实现的需求。然后受益于隆基前辈的阿里消息中间件架构演进之路:notify和metaq一文,用这篇小笔记总结下我对消息队列的认识和理解。

1、为什么用消息队列

Read More

由配置文件到Diamond配置中心引发的考究

对于配置中心,我也不算是第一次接触。在我从上一家公司离职之际正好赶上项目进行容器化——将原来直接部署在ECS的应用迁移到K8S。而应用的配置都被迁移到了Nacos上,所以我也算是经历过传统到前沿的过度阶段吧。入职阿里后,趁着了解Diamond来说说我对传统配置文件的形式和配置中心的形式的一些感受吧。

1、软件的老基友——配置文件

Read More

新人对TDDL分库分表的一些思考

分库分表这个技术在之前一家公司其实也有接触。上一家公司在业务上按照用户水平分库的,所以避免了很多业务上的问题,但也只是基于Spring的AbstractRoutingDataSource,根据userId做了简单的路由。之前也在网上听说过sharding-jdbc等中间件,也仅限于了解。所以结合我从内网看到的关于TDDL中间件的文章和外网看到的一些文章,在这篇文章中整理一下我这个新人对分库分表的认识。

1、单库单表

Read More