IP,操作系统OS,国家,浏览器信息GIF展示图 发布于 三月 24, 2021 图片URL:https://www.wieistmeineip.de/ip-address/ 图片URL:https://www.mzwu.com/pic/20070121/ipimg/ipimg.asp 评论
ProxySQL 安装配置详解及读写分离、负载均衡 发布于 七月 07, 2020 前言 在MySQL的高可用集群环境中,中间件是不可缺少的一部分,它提供了读写分离、负载均衡等各种功能,满足集群的横向、纵向的可扩展。由于官方并没有在这方面推出好的产品,更多的是第三方的产品。如: ProxySQL #Percona MaxScale #MariaDB Atlas #360开源 OneProxy #平民软件楼方鑫 MyCat #社区推广 KingShard #原Atlas作者离职后使用go开发 TDDL #阿里巴巴开源 Cobar #阿里巴巴开源 DBProxy #美团在360Atlas上修改后开源 Fabric #官方产品 DRDS #阿里云分库分表产品 本次以测试ProxySQL为例,逐步了解ProxySQL的使用方式。 准备 环境: ProxySQL: 1.4.1 Master: 118.190.67.67 Slave: 139.196.95.103(192.168.7.50) 安装配置详解 官网: http://www.proxysql.com/ Percona地址: https://www.percona.com/downloads/proxysql/ Github地址: https://github.com/sysown/proxysql/ 本文通过作者编译好的rpm安装,也可通过编译安装的方式安装,本文省略 安装 下载proxysql可以有三种途径,分别为官网、Percona网站和Github网站 本文从github上下载最新稳定版本,这里选择centos67对应的rpm包 下载:wget -c -O proxysql-1.4.1-1-centos67.x86_64.rpm https://github.com/sysown/proxysql/releases/download/v1.4.1/proxysql-1.4.1-1-centos67.x86_64.rpm [root@iZuf6c08fdv8duubho2b0rZ test]# yum localinstall -y proxysql-1.4.1-1-centos67.x86 _64.rpm Loaded plugins: security docker-main-repo ... 阅读全文
我的工作流及工具推荐 发布于 六月 16, 2022 简单介绍一下我的工作流和一些不错的工具。(更新:2021–10–05) 硬件 我的主力桌面是一台 MacBook Air 2014(i7/8G/128G),加装了 JetDrive Lite 128G 作为日常文件存储,外接 Philips 的 27 寸 2K 显示器作为副屏。鼠标是 Magic Mouse 2,搭配腕托,用起来不累。键盘则为 Keychron K2(茶轴,也配了腕托)。 手机用的 小米 8,还有个 iPad mini 5。 信息获取 我基本不做泛主题的剪藏或稍后读,只有在进行项目调研时,会大量使用 Google 收集信息,所以重度依赖浏览器。主力浏览器是 Firefox (全平台),辅以 Safari 15 (仅桌面,侧重娱乐)和 Microsoft Edge (仅桌面,主作测试及兼容后备),书签同步使用浏览器对应账户,密码管理使用对应的 Bitwarden 扩展 。 阅读外文资料靠机翻,主要使用 Bob 搭配 OpenL API (支持 DeepL 等翻译引擎的聚合服务,按量付费,价格不贵),有时候会用一下 彩云小译 。 另一个重要的信息获取渠道则是阅读。主要用 WPS 浏览和处理 PDF 文件,电子书的阅读则集中于 微信读书 。 笔记与文件的同步及存储 我的笔记是以 Obsidian 为核心进行梳理和组织,以 iCloud Drive 和 Syncthing 进行跨平台同步。桌面端笔记使用 VS Code 书写;手机上则用 Markor 的 QuickNote 功能绑定一个 Inbox.md 进行速记;与手机模式类似,iPad 使用 1Writer 对笔记进行简单检索和编辑。 大部分文件不会直接放在 Obsidian 的文件夹中,而是根据具体性质分散在 WPS、 腾讯微云 、 阿里云盘 、 OneDrive ……笔记中只做好必要的链接、 嵌入 和说明。 Obsidian 多端同步简明指南 写作及发布 在写作的过程中,我更喜欢纯文本── Byword 是我用得最久的... 阅读全文
详解 Kubernetes Volume 的实现原理 发布于 五月 28, 2020 在 Kubernetes 集群中,虽然无状态的服务非常常见,但是在实际的生产中仍然会需要在集群中部署一些有状态的节点,比如一些存储中间件、消息队列等等。 然而 Kuberentes 中的每一个容器随时都可能因为某些原因而被删除和重启,容器中的文件也会随着它的删除而丢失,所以我们需要对集群中的某些文件和数据进行『持久化』;除此之外,由于同一个 Pod 中的多个 Container 可能也会有共享文件的需求,比如通过共享文件目录的方式为 nginx 生成需要代理的静态文件,所以我们需要一种方式来解决这两个问题。 作为 Kubernetes 集群中除了 Pod 和 Service 之外最常见的基本对象,Volume 不仅能够解决 Container 中文件的临时性问题,也能够让同一个 Pod 中的多个 Container 共享文件。 这篇文章并不会介绍 Kubernetes 中 Volume 的使用方法和 API,而是会着重介绍 Volume 的工作原理,包含其创建过程、多种 Volume 实现的异同以及如何与云服务提供商进行适配。 概述 Kubernetes 中的 Volume 种类非常多,它不仅要支持临时的、易失的磁盘文件,还需要解决持久存储的问题;第一个问题往往都比较容易解决,后者作为持久存储在很多时候都需要与云服务商提供的存储方案打交道,如果是 Kubernetes 中已经支持的存储类型倒是还好,遇到不支持的类型还是比较麻烦的。 除了卷和持久卷之外,Kubernetes 还有另外一种更加复杂的概念 - 动态存储供应,它能够允许存储卷按需进行创建,不再需要集群的管理员手动调用云服务商提供的接口或者界面创建新的存储卷。 集群中的每一个卷在被 Pod 使用时都会经历四个操作,也就是附着(Attach)、挂载(Mount)、卸载(Unmount)和分离(Detach)。 如果 Pod 中使用的是 EmptyDir、HostPath 这种类型的卷,那么这些卷并不会经历附着和分离的操作,它们只会被挂载和卸载到某一个的 Pod 中,不过如果使用的云服务商提供的存储服务,这些持久卷只有附着到某一个节点之后才可以被挂在到相应的目录下,不过在其他节点使用这些卷时,该存储资源也需要先与当前的节点分离。 卷 在这一节中提到的卷(Volume)其实是一个比较特定的概念,... 阅读全文
电信家庭云路由器插件免费提速宽带至500M,上行50M 发布于 六月 02, 2019 宽带免费提速至500M,上行50M方法 原理是通过天翼云实现,声明免费,不用开通天翼云会员并且没有时间限制。 1、获取token。(获取方法:登录账号,启动提速。应用根目录下有一个文件,文本打开) 2、以K2**子固件为例。用winscp登录路由器,导入speedup代码 导入目录:etc/storage/script下。文件名命名为:Sh27_speedup.sh 3、重启路由器,然后再登录路由器。进入扩展功能-搭建web环境-家庭云提速 再填入第一步获取的token。保存应用。 4、再重启路由进日志查看,提速成功有显示。理论永久可提速,第一小时自动运行一次代码。 另友情提示,电信官网有360一年的纯宽带(20M,上行4M)。可以免费提速到500M下,50M上行。 这第便宜的宽带,然后再搞台配置高点软路由开小鸡。 Sh27_speedup.sh: https://paste.ubuntu.com/p/Q5cXdhmTB8/ 提速工具: 电信上下行提速_随缘.zip 阅读全文
一些免费的云资源 发布于 三月 17, 2021 云 IaaS指提供系统(可以自己选)或者储存空间之类的硬件,软件要自己手动装;PaaS提供软件/框架(可以自己选);SaaS只能使用开发好的软件(卖软件本身);BaaS一般类似于非关系数据库,但各家不通用,有时还有一些其它东西。 其他人的集合 https://github.com/ripienaar/free-for-dev https://github.com/AchoArnold/discount-for-student-dev https://github.com/qinghuaiorg/free-for-dev-zh 很久没更新了 https://github.com/vincenthou/free-for-china-dev 很久没更新了 https://github.com/ivmm/Student-resources https://www.freeforstudents.org/ https://github.com/255kb/stack-on-a-budget https://github.com/Ibexoft/awesome-startup-tools-list https://www.cokemine.com/ Paas https://www.heroku.com/ java go py docker https://www.pythonanywhere.com/ 限制非常多,几乎就和虚拟主机差不多了,免费账户不允许访问白名单之外的网站。但好歹能提供一个自动https的web app https://cloud.google.com/appengine/docs/ 标准环境有一点储存空间和流量,柔性环境(.NET)必须启用结算,且现在标准环境要启用一个API,也要求绑卡 https://fly.io/docs/pricing/ docker https://m3o.com/ go https://anvil.works/ py,前端Drag and Drop UI,后端和数据储存用的是该网站的库 https://www.kintohub.com/ node go py java php docker 免费3个实例但内... 阅读全文
Redmi K30 5G版,为广告推送而生 发布于 十二月 03, 2020 突如其然。 我开始了与年上人妻的同居生活,不信你瞧—— ——“崽儿啊,我的手机卡了!” ——“崽儿啊,我的微信存不了图了!” ——“崽儿啊,我的抖音咋打不开了!” ——“崽儿啊,王小姐的儿子给她买了个苹果,多孝顺啊!” ——“崽儿啊,想吃啥就说,妈给你做啊!” 瘟疫肆虐。 视“搓麻”如绳命的母亲已然在家憋出了戒断反应。 而母亲消除焦虑的手段之一,便是“聊微信刷抖音”。 ——可充话费送的菊花牌电子垃圾,哪顶得住国产毒瘤的压力测试? 疯狂暗示。 鲜进厨房的母亲,甚至开始了刷锅洗碗。 此情此景,吓得儿臣再也不敢装傻回避。 “那就买吧。” 选购 / 开箱 2020年2月14日,情人节。 家中胜利召开第二次全家最高领导人御用手机选购大会。 母亲于会上紧扣需求,指出了 四个必须 : 像素要高(拍照好); 内存要大(要128个g); 电池耐操(能稳刷一天抖音); 系统不卡(性能hold住各类国产毒瘤); 身为儿臣忠心耿耿,我补充了 两个不要 : 不要1080p果粒a屏; 不要不能解锁,乃至启动器都不让换的电子垃圾。 母亲深表同意,追加提出 “手机两年一换” 的 基本方针 。 ——吓得家境贫寒的我赶紧捂住荷包,彻底断了进贡腰子11的愚蠢念想。 随后由我亲自挑选机型,母亲亲自确认颜色。 通过排除法 ,购入了它—— —— 红米 K30 5G版 。 厚重的吨位 购买取件开箱。 哪怕疫情当前,京东也做到了下午买上午到。 而取出本体拿在手里: “卧槽,真沉。” 再递给母亲: “妈耶,好重。” 带壳贴膜后。 ——是重达半斤的喜人吨位。 纵使母亲常年搓麻早已练就双臂神力,扛两副麻将牌走十米公路不带换肩。 ——拿K30通话几分钟也得乖乖换手。 毕竟4500mAh大电池+6.67寸LCD, 重就重吧。 内容物有且只有: 手机本体; 透明软壳; 30w快充。 匪夷所思的是,K30出厂 并没附带屏幕贴膜 。 要知道出厂贴膜可是祖国手机业界的优良传统,哪怕只是层塑料,对用户体验也是实打实的加分项。 ——毕竟不是所有新机都能第一时间买到玻璃膜,出厂膜能帮助用户度过真空期。 而实际等k30贴膜... 阅读全文
KodExplorer去除版权标识css版 发布于 七月 23, 2019 KODExplorer版权共存在三个地方: 登录页面底部版权信息 找到css文件/static/style/login.css,第87行,改为: .common_footer{display:none;} 右上角菜单版本信息 找到css文件/static/style/common.css,在最后添加: .version_vip{display:none !important;} 资源管理器(Explorer)底部版权信息 找到css文件/static/style/common.css,在最后添加: .old_common_footer{display:none !important;} 修改页面template/common/footer.html: <div class=”common_footer”><div class=”old_common_footer”>【原来的版权信息】</div>,<div class=”new_common_footer”>新的版权信息</div></div> 另外还有标题栏的版权字样,可以通过修改html代码实现,进入/template文件夹,去除所有页面中“$L[‘kod_power_by’]”内容,即可。 来源: https://krunk.cn/kblog569.html 阅读全文
分布式定时任务调度系统技术解决方案(xxl-job、Elastic-job、Saturn) 发布于 十一月 09, 2020 1.业务场景 保险人管系统每月工资结算,平安有150万代理人,如何快速的进行工资结算(数据运算型) 保险短信开门红/电商双十一 1000w+短信发送(短时汇聚型) 工作中业务场景非常多,所涉及到的场景也各不相同,这使得我们定时任务系统应该集管理、调度、任务分配、监控预警为一体的综合调度系统,如何打造一套健壮的、适应不同场景的系统,技术选型尤其重要。 针对以上场景我们需要我们的分布式任务系统具备以下能力: 1.支持多种作业类型(shell作业/Java作业) 2.支持作业HA,负载均衡和失败转移 3.支持弹性扩容(应对开门红以及促销活动) 4.支持Job Timeout 处理 5.支持统一监控和告警 6.支持作业统一配置 7.支持资源隔离和作业隔离 2. 定时任务调度的特点 任务调度就是设点某一时间点自动触发的任务,该任务可以在时间规律上去循环执行。一般的技术quartz、spring task、java.util.Timer,这几种如果在单一机器上跑其实问题不大,但是如果一旦应用于集群环境做分布式部署,就会带来一个致命的问题,那就是重复执行,当然解决方案有,但是必须依赖数据库,将任务执行状态持久化下来。 特点: 时间驱动:系统一般可以通过时间来驱动,定时定点定次。 批量处理:批量处理堆积的数据更加高效,在不需要实时性的情况下比消息中间件更有优势。而且有的业务逻辑只能批量处理。如对账批处理、资金管理系统回盘、部分银行的报盘前的制盘 非实时性:定时任务不要求实时性,一般不用于C端用户的交互,更多的用于业务数据的处理 隔离性/专一性:可以跟其他系统分离,只关注业务数据的处理,不影响用户的操作和用户系统的性能。 基本原理: 3.开源定时任务框架 Quartz:Java事实上的定时任务标准。但Qu... 阅读全文
解决0x00000bcb共享打印机无法打印问题 发布于 九月 29, 2021 在许多公司里,经常会需要打印一些文件,这个时候就需要使用打印机。而且基本都是非常多的用户在使用的时候,却出现了连接打印机0x00000bcb的问题,今天小编就带着大家一起看看具体怎么解决办法吧! Win10解决方法: 方法一: 1、进入控制面板→管理工具→本地安全策略(也可以win+r 输入gpedit.msc,然后windows设置→安全设置) 2、本地策略→安全选项→网络安全:LAN管理器身份验证级别,定义为:仅发送NTLM响应 3、进入本地服务设置 ,win+r打开运行,输入services.msc,启动Function Discovery Provider Host、Function Discovery Resource Publication两个服务,并将启动类型改为自动。 4、停止关闭Print Spooler服务,然后win+r输入regedit进入注册表编辑器, 进入HKEY_LOCAL_MACHINESYSTEMControlSet001ControlPrintPrinters,然后删除Printers目录下所有文件,删除后在本地服务设置中启动Print Spooler服务。 方法二: 连接好本地打印机后,想要共享给同事使用,却发现在共享时出错,这是什么原因了? 在win10系统中,有时候发现无法设置共享打印机,只要保存设置时,就会出现错误信息,并有具体的错误代码 0x000006d9,这是由于系统防火墙服务没有开启导致的。 系统防火墙服务的名称为Windows Firewall,依次点击打开“控制面板”-》“管理工具”-》“服务”,在打开的的服务窗口中对服务按名称进行排序,找到Windows Firewall 双击打开防火墙的属性窗口,点击“启动”按钮来启动防火墙服务。 防火墙启动以后,再共享保存时就一切都正常了! 方法三: 1、点击开始控制面板打印机; 2、选择“添加打印机”; 3、选择“添加本地打印机”, 按-下步; 4、选择“创建新端口”选择“local port”这一 项,按下一步,提示输入端口名称,输入共享打印机的绝对路径,格式为: 1***(共享打印机的计算机名或IP地址)***(共享打印机的共享名称} ,如192.1... 阅读全文
编写 docker-entrypoint.sh 入口文件 发布于 十一月 29, 2019 在 docker 的官方 Registry 中(store.docker.com) 流行的第三方应用在自己的页面中都提供了 dockerfile 的链接. 而很多 dockerfile 的 ENTRYPOINT 命令都是这么写的 ["docker-entrypoint.sh"] 本篇文章就扫盲下 docker-entrypoint.sh 的特殊用法和设计逻辑 MySQL set -e 你写的每个脚本都应该在文件开头加上 set -e , 这句语句告诉bash如果任何语句的执行结果不是 true 则应该退出. 这样的好处是防止错误像滚雪球般变大导致一个致命的错误, 而这些错误本应该在之前就被处理掉. 如果要增加可读性, 可以使用 set -o errexit , 它的作用与 set -e 相同 set -o pipefail 设计用途同上, 就是希望在执行错误之后立即退出, 不要再向下执行了. 而 -o pipefail 的作用域是管道, 也就是说在 Linux 脚本中的管道, 如果前面的命令执行出了问题, 应该立即退出 shopt -s nullglob 在使用 Linux 中的通配符时 * ?等 如果没有匹配到任何文件, 不会报 No such file or directory 而是将命令后面的参数去掉执行 if [ “${1:0:1}” = ‘-‘ ]; then… 这是一个判断语句, 在官方文件中, 上一行已经给出了注释: if command starts with an option, prepend mysqld 这个判断语句是 ${1:0:1} 意思是判断 $1(调用该脚本的第一个参数), 偏移量0(不偏移), 取一个字符(取字符串的长度) 如果判断出来调用这个脚本后面所跟的参数第一个字符是 - 中横线的话, 就认为后面的所有字符串都是 mysqld 的启动参数 上面的这个操作类似于 Python 的字符串切片 set – mysqld “$@” 在上面判断完第一个参数是 - 开头之后, 紧接着就执行了 set -- mysqld "$@" 这个命令. 使用了 set -- 的用法. set — 会将他后面所有以空格区分的字符串, 按顺序分别存储到$1,... 阅读全文
评论