Payne's Blog

  1. Spring Could Config Client 增强

    config-client-enhance 对spring-cloud-config-client官方版本功能进行扩展,可从多个配置源加载配置, 并修改spring-cloud-bus的相关功能,实现批量刷新. github链接:config-client-enhance 简介 随着微服务改造的推进,每个服务的功能趋于专一,不过有些服务是从一个单体应用中拆分出来, 因此微服务之间有不少的共有配置,导致每个应用重复配置,当某个配置项发生改变时, 需要逐个修改,比较麻烦。最好的办法是将这些公共配置项抽取出来作为一个配置源, 但是官方的spring-cloud-config-client只能从单一配置源加载配置。因此在官方的基础上进行扩展, 通过config group的概念,可以将一个应用加入多个config group中,共用不同group的配置项。 再结合spring-cloud-bus,让每个服务能感知所加入的config group的改动,从而做到一处更改多处生效。 基于官方spring-cloud-config-client, 通过spring-boot的autoconfig功能,覆盖配置源加载的方法,在兼容官方的配置前提下, 增加了一些配置项,使其能能从多个配置源加载配置。自动更新时客户端会收到远程的refresh消息, 并通过一个函数来确定是不是发给自己的,通过切面,修改这个判断函数,使多配置源的修改能及时更新到应用。 原理 官方spring-cloud-config的工作原理 如下图,就是我们常用的结构,当然是比较简化的。 当我们的配置发生变化之后,配置在git仓库的webhook用http的方式向ConfigServer发送refresh消息(或者自己手动触发) ConfigServer再将这个消息发送给spring cloud bus(…

  2. Connecting Android Devices with Linux

    结合自身的实际,在Linux上连接Android的需求其实可以分为一下几类: 手机的通知可以在Linux上弹窗提示 能方便的在手机和Linux之间传输文件、甚至同步粘贴板 能将手机画面同步到Linux上,并且还能直接操作 将手机作为另外一个屏幕,共享Linux的鼠标键盘,直接操作Android系统 仅仅将手机作为Linux的扩展屏 接下来我就来介绍几个软件,看看它们都能实现哪些需求 KDE Connect 看名字就知道是KDE桌面环境的组件,KDE桌面的高度定制以及酷炫的特性就不用多说了,没想到还这么关心小众需求,值得赞一个。 KDE Connect实现的需求是1和2另外还有些特色功能,下面列出主要功能 在Desktop上展示手机通知 互相传送文件 用手机模拟成桌面的触摸板(感觉这个功能还是蛮有用的) 控制桌面的打开的媒体播放器 该软件分为桌面端和手机端,手机端直接在google play就可以下载,桌面端可以在各大发行版仓库中下载。它们之间的连接是通过内网连接,需要在同一个环境下,并且需要开放相关端口。安装KDE Connect之后它们会自动发现,但是有时候并不能,需要手动添加。在右上角三竖点的子项 Add devices by IP。输入桌面端的IP地址即可在,KDE Connect Settings中发现手机,pair之后即可看到对于该手机的一些设置项。 对于手机端,如下图,…