LOGO
首页 网站广场 站长动态 活跃度榜 全部站长 审核查询 逛逛好站 留言交流 提交申请 关于本站

站长动态

站长动态所展示的是已加入好站网成员站长文章
共同步 2705 篇文章
(每2小时更新一次)
阿川
入驻第1年
腾讯云COS文件跨域
林墨白
入驻第1年
幻想十年后自己的爱情
语文课堂作文选题其一:写十年后自己的爱情2034年,那时的我已经26岁。我的爱情是怎样的呢?又或是还未获得爱情?相比于后者我更相信:我的爱情可能是平凡而不平庸。那时我的爱情可能平凡,平凡到每天固...
小十
入驻第1年
画廊
Debug
入驻第1年
Phoenix框架 从0到1设计业务并发框架 小米商城产品站革新之路
前言 小米商城产品站之前由于历史原因,存在着诸多问题与不便,随着技术的快速变革,技术部中台化的建设,越来越不适用于现在快速迭代的业务需求,接下来我将以技术的视角讲解我们遇到的痛点,以及解决这些痛点的思路,也就是 Phoenix 框架诞生的故事。 为啥要进行设计一个框架,其实是业务发展导向的结果,若是我们不进行设计,那么我们会遇到如下一些问题: 在新的产品需求规划下,无法承接大型项目,只能进行小修小改; 小米网产品站最初,每个端一套代码逻辑,风格各异; 历史沉淀,一个接口函数 2000 多行,熟悉代码逻辑的成本越来越大; 隔离性差,服务可用性严重依赖下游,下游一个接口的抖动都会给我们接口带来恐慌; 技术上整体中台化建设,随着调用接口越来越多,接口越来越慢; 代码没有解耦,特别对新同事而言,新项目上线风险高; 缺少 Go 基础组件的维护,无法对下游接口实时监控; 思考 我们从技术上计划进行重构,那么我们如何将现有的调度逻辑抽象出一套兼顾稳定性、便捷开发、可维护性且可监控的框架模型是我们首先带来的问题。 我去调研了开源的一些并发框架,发现传统的并发调度模型基本上都有依赖关系、超时控制、线程池分配调度、熔断限流、接口监控等功能。 为啥我们没有直接使用开源并发框架进行开发呢? 我调研发现业界 LiteFlow 框架是最受欢迎与好评的框架,于是在 Github 上面去了解框架底层实现的细节,随着深入阅读源码,发现这款框架设计的是真的很优秀,但是也过于庞大、复杂,特别是 EL 规则的写法,相对来说还是有一定的上手成本。 那么我就在思考,我作为业务开发人员的话,我不想关心这么复杂的依赖关系,只需要关心自己产品站业务调用到的中台的接口及其依赖接口即可。特别是大型接口捆绑了几十个下游接口的逻辑,要是理解每个接口的设计细节更是不太可能的,要是依赖关系特别复杂,那么 EL 规则会写的非常复杂且维护成本极高。 那么该如何设计一款轻量、快速、高效、从根本上解决开发人员手动维护依赖关系的并发框架呢? 既然存在依赖关系,那是不是可以通过算法进行自动构建依赖关系呢? 设计 根据产品站的实际场景,我们发现,调用下游接口若干个,且请求接口存在不同的请求协议与不同的中间件。 更重要的是,接口存在着依赖关系,我们梳理接口调用发现,接口依赖正好是有向依赖图的结构, 那么我们就可以进行遍历依赖关系进行编排并发分组。 这样就解决了依赖的问题,我们可以依次并行执行每个并发组的任务,这样就可以得到所有接口或依赖的结果。 那么获取到结果之后,怎么进行业务逻辑的编排,怎么隔离下游接口,其实原理很简单,既然任务可以进行分层,那么我们业务调用、业务编排、防腐蚀层也可以进行分层设计。 Transfer 层的作用是业务逻辑层,用来进行业务编排,将 BO 数据提供给客户端使用; Task 任务层是并发执行的核心设计层,在这里通过并发分组的每个子 Task 在这里进行编排后执行调用,用来进行超时控制、耗时统计等操作; Infrastructure 层作为防腐层设计,用来隔离下游接口的调用,这样的设计提高了接口的稳定性; 写在最后 好了,上文就是给大家讲解的自动构建并发调用图的业务框架,也就是 Phoenix Framework。 Phoenix,最初在周志明老师的网站"凤凰架构"提及,一方面是对周老师的架构设计理解与 Java 相关知识学习的致敬,另一方面,Phoenix 不死鸟,软件的生命周期也是如此,随着业务的快速发展诞生、并随着业务的的收缩而凋亡,生生不息。 最后,我会以系列的方式进行讲解这个框架遇到的问题以及解决思路,感谢大家的阅读,大家要是感兴趣的话推荐大家关注公众号,让我们一起变得更强~ 关注微信公众号,第一时间获取最新内容,让我们一起变得更强!Debug客栈:订阅本站· 文章归档· 我的项目· 友情链接· 我的使用· 飞湾计划· 摄影展集· 我的主页
陈仓颉
入驻第1年
2024春节观影
今年的春节档是中国影史最高票房(80.2亿,截止2月17日),我观看了其中三部电影。《熊出没·逆转时空》不是我 […]
阿川
入驻第1年
湖畔幽悠
乌托邦
入驻第1年
Linux安装wine版本微信
2024年11月更新:微信已推出正式版本的微信Linux版,官网https://linux.weixin.qq.com/,有需要的读者可以前往下载啦。这篇文章写在2022年末,当时的我恐怕也不会想到,两年后万恶的微信会真的适配Linux吧。2024年3月更新:微信已推出原生linux版本wechat(Universe),固本教程已存档。虽然万恶的腾讯对其进行了系统白名单限制,但使用一些办法依旧可以将原生版本微信安装至任何发行版上。在此不过多赘述,点此可直接https://pan.baidu.com/s/1WK1gxC5x7LWMYzBoJ6gPNQ?pwd=qx7z 破解限制后的deb安装包。前提本教程系统环境为Ubuntu23.10,大概大部分的GNU/linux也大同小异略有出入。wine版本8.0如果你不想使用deepin版本的微信,觉得有一种NTR的感觉;如果你不想用crossover安装微信,还得花一份钱;如果你不想在Steam Proton里安装微信,忍受每次启动微信都得先启动Steam的反人类操作。那么,以下教程适合你,只要多亿些步骤,就可以使用原生版本的wine安装一个纯净的微信。配置wine环境安装wine和winetricks你可以选择从存储库来安装wine和winetricks,这样做的好处是你可以获取到最新版本的wine和winetricks。(写此文章时最新版本为wine9.0)但是从Ubuntu存储库里安装,更加方便快捷,大大简化了安装流程和时间,还规避了墙内网络偶尔连接不上wine存储库的问题。虽然不是最新版本,但对于安装微信来说足够了。sudo dpkg --add-architecture i386 sudo apt update sudo apt install wine sudo apt install winetricks使用winetricks创建一个新的32位容器打开winetricks图形化页面,创建一个新的容器,容器选择32位的,容器名称自己填一个,我建议填写wechat方便识别。创建好之后选择管理wechat容器,记住窗口上方的当前容器路径备用。配置wechat容器常规情况下,是需要选择第一项,安装Windows DDL或组件,然后安装riched20和msls31。但大部分情况下,一番尝试后你只会获得报错。这个时候如果你打开 容器路径/drive_c/windows/,你会发现里面组件齐全只是没启用。选择“运行wine配置程序”,切换到“函数库”选项卡,添加函数“riched20(原装先于内建)”和“msls31(原装先于内建)”。再切换到“显示”选项卡,将屏幕分辨率调整到196dpi。确认。安装字体此时容器内还缺少字体。你可以尝试在winetricks里选择“安装字体”,安装Arial字体。但大概率会遇到和上面一样的报错。打开 容器路径/drive_c/windows/Fonts$文件夹,向里面导入中文字体。神奇的是,经过我的尝试似乎只要是常用的中文字体就可以,宋体微软雅黑华文字体似乎都可以。附上微软雅黑字体的下载链接 安装微信在微信官网下载32位版本的安装包。打开安装包下载的位置,在此创建一个终端。WINEPREFIX=容器路径 wine WeChatSetup_x86.exe等待安装包加载完成后,安装界面即可正常打开。此时会发现经过配置后,安装界面的大小是正常的,否则没有配置过的界面是过小的。正常安装即可,安装完成后在桌面和应用抽屉里就会出现“微信”和“卸载微信”两个图标。此时微信可以正常打开登录,能够完成聊天传文件等大部分工作。关闭微信时直接杀掉进程即可。附上几张配置图
乌托邦
入驻第1年
联想yoga系列安装Ubuntu的注意事项
笔者机型联想yoga14s2021 同样适配于同型号不同年份设备 也可能适配联想小新系列部分机型 我该安装哪个版本 (省流:Ubuntu的最新版本即可) Ubuntu 20 及以前版本太老了,没测试且不推荐(更新:20.04可用) Ubuntu 22 全版本不推荐但能用。能够正常显示,但独显识别异常需要手动配置驱动。另外笔记本键盘在配置grub后有概率依旧无法使用,记得备好外置键盘。触控板可以正常使用。 Ubuntu 23.04 不可用不可用不可用!!! 安装完黑屏,疑似nvidia独立显卡驱动自动适配异常导致。除非你想自己区配置独显驱动,否则不要安装这个版本。NVIDIA FUCK YOU! Ubuntu 23.10 自20以来适配相当好的一个版本 nvidia独立显卡识别正常 显示正常不闪屏 驱动能够自动适配(前提是安装时勾选了安装第三方驱动)笔记本键盘安装后一就无法使用 但配置grub后可正常使用 甚至有概率键盘背光能够调节 (首选)Ubuntu 24 系列目前适配最好的一个版本 解决了一直以来的键盘问题 现在笔记本键盘无需配置就可以直接使用 只是没有背光调节 安装过程 省略 安装后的配置(24版本无需配置) 打开终端 sudo vim /etc/default/grub (没有vim的 sudo apt install vim) 修改GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" 为GRUB_CMDLINE_LINUX_DEFAULT="quiet splash i8042.dumbkbd" (如果你有闪屏问题 尤其是Ubuntu22 也可以在后面继续加上 i915.enable_psr=0) ESC :wq 保存退出 刷新grub并重启系统 sudo update-grub sudo reboot 重启完成后你的笔记本键盘就可以用了
阿川
入驻第1年
年味越来越淡,没有感觉
阿川
入驻第1年
解决Jekyll时区数据源问题
阿川
入驻第1年
初一大吉,博客上上新
阿川
入驻第1年
技术亦福亦是祸
阿川
入驻第1年
晒晒年中时的骑行
阿川
入驻第1年
南北饮食差异
阿川
入驻第1年
置办了一套茶具
阿川
入驻第1年
我回来了
林墨白
入驻第1年
喜欢樱花🌸吗?加个飘落特效吧
演示截图代码与部署代码这里的代码有点多,因为要用到进制转换成樱花var stop, staticx; var img = new Image(); ...
林墨白
入驻第1年
在Woiden白嫖理论上的永久NAT VPS
前言这篇文章本来已经写好了有个三四天。但是准备发布的时候,Woiden的服务器又出了问题,导致所有NAT VPS用不了,这让我无法了解Woiden的NAT VPS服务器,所以迟迟不发布。:^(困...
林墨白
入驻第1年
《查理九世》——谨以此书,纪念我的童年
我童年的故事始于“黑贝街的亡灵”,终于“九尾灵猫”如果它诞生在美国,它会像漫威一样风靡全球;如果诞生于日本,它会被改编成动漫成为人人夸赞的神番;如果诞生于韩国,它会拍成电视剧看过的人会流连忘返…...
林墨白
入驻第1年
二次元个人主页引导页(林墨白优化版)
演示截图部署网站原版下载链接:https://aishuo.lanzout.com/ioRol1gf79kj美化版美化版更新信息林墨白美化版v1.0去掉原版顶图增加圆形头像并加上底部阴影增加导航...

© 2026 好站网-HaoZhan.Wang V1.9 版权所有,正在试运行中! 本站由 Zhou's Notes 强力支持!

苏ICP备19065220号-4 公安备案 苏公网安备32100302011680号 萌ICP备20269980号 茶ICP备2026050346号
本站数据 2026年报 版本历史 小黑屋 关于本站 统计代码