构建 spring-framework
介绍下使用到的 Gradle 工具《一篇文章讲清楚Gradle与Gradle Wrapper的区别》 comments: Gradle Wrapper 提供了一种“在本地构建中,使用特定版本的 Gradle 进行构建”的功能。 换言之,对于大多数敏捷迭代的项目而言,应该选择 ./gradlew clean build,而不是 gradle clean build。这样不会遇到 pluginManagement 之类的问题,这样说来,每个项目都是自构建的。 要么 IDE(像 Android Studio)自带 gradle wrapper,要么项目自带一个 gradle/wrapper 文件夹,这个文件夹里指定了 gradle-wrapper.properties。 这个命令专门指定了特定版本的 gradle。-all.jar、-bin.jar、-src.jar 分别代表不同的包。 gradlew是在linux,mac下使用的,gradlew.bat是在window下使用的,提供在命令行下执行gradle命令的功能。-这种 w...
云原生应用
...
活动保障性体系建设和实践的总结
大促规划.xmind 活动的定义和特点活动具有大并发、高流量的特点,前期充足的准备是活动顺利完成的必要条件。 准备好完备的保证流程,可以为相关人员提供指引。 基本的保障方案 事前:严格按照保障步骤分工执行,活动要报备,核心链路要梳理,梳理完要评估容量和准备,要治理风险,要准备预案,要建设大盘,准备压测和演练预案,要安排值班。 事中:相关责任方(要分技术负责人和运维负责人,召集相关人员,组成稳定性保障小组)监控线上数据,以线上/线下会议、群聊和电话等多个方式参与值班并及时响应异常事件。 事后:组织复盘,总结亮点,指出不足,沉淀经验。 活动报备要理清活动信息:活动背景、活动时间、用户参与路径、活动链接、活动...
服务治理组件笔记
背景service-centric architecture 以服务为中心的架构,和 SOA 的区别是? 服务治理的模式server-side pattern:容易集中管控,易单点失败。client-side pattern:不容易集中管控,不易单点失败。 演化流程 基础治理能力:通信协议统一、命名服务的统一、监控预警、运营平台 高性能/易用性:通信框架高性能/通信框架轻量化/分布式链路追踪/测试工具可视化 全方位的治理能力:全链路压测平台/深度服务化 SOA/链路级流量治理/易用化平台构建 业界前言探索:SET 化高扩展架构/云原生架构治理 治理体系该有的治理能力都要有。 注册中心 服务注册 服务概要 提供者 消费者 监控报警 节点监控 性能监控 业务监控 异常监控 服务运营 配置管理 服务分组 节点管理 服务鉴权 数据分析 性能指标 来源去向 主机分析 数据报表 调用链路 关键组件-本地代理比如 LocalAgent,能够做到:策略下沉,解耦功能,对业务服务侵入性低。 但 Provider/Consumer 还需要使用自己的 sdk,它和远端的 naming...
《罪與罰》出場人物筆記
版权归作者所有,任何形式转载请联系作者。作者:二阶导(来自豆瓣)来源:https://www.douban.com/note/635771361/ 這篇筆記按照目前小說的兩位主線人物,即 拉斯柯爾尼科夫 和 馬爾梅拉多夫 兩家人作爲主軸進行區分,隨着劇情的推進,此結構可能會進行調整。 拉斯柯爾尼科夫 相關1 羅季昂 · 羅曼諾維奇 · 拉斯柯爾尼科夫 Rodion Romanovich Raskolnikov (Родиóн Ромáнович Раскóльников)小名叫做羅佳 (Rodya),或是叫做羅季昂,羅季卡 (Rodka),窮困潦倒的法律系大學生,男主角 拉斯科爾尼科夫 Raskolnikov 中的 Roskol 意為「分裂」①,指俄罗斯正教会的教派分裂事件②2 阿芙多季婭 · 羅曼諾芙娜 · 拉斯科爾尼科娃 Avdotya Romanovna Raskolnikova (Авдотья Романовна Раскольникова)小名叫做杜尼婭 (Dounia),或是叫做杜涅奇卡 (Dunechka),拉斯科爾尼科夫的親妹妹 3 普利赫利婭 ·...
《今日简史》
本书不同于《人类简史》和《未来简史》,是探讨当下的重要议题和全球化的议题。其实顶层的议题,和每个人的切身命运,是息息相关的。这本书其实是 21 世纪的 21...
《未来简史》
这本书厉害就厉害在,15%以上的内容都是引述的资料,可谓旁征博引。 人类历史上有过以下几个危机:饥荒、瘟疫和战争,都已经被现代文明部分战胜了(或者,至少已经在正确的道路上取得可观胜利了)。 人类已经可以追求长生。现代文明的特点是让人追求快乐。人虽然没有必然享受快乐的权利,但有追求快乐的权利。(智)人类可以通过生物工程、半机械人工程和非有机生物工程,往神迈进。我们得到了神的创造力和破坏力,就可以成为神。神并不全知全能,也不是某种形而上的特质,神意味着超生物的能力。 伊壁鸠鲁告诫自己的门徒,过度追求快乐是危险的。佛教徒认为,追求快乐是痛苦的。快乐本身是来去不定的东西。 21...
《人类群星闪烁时》
本书是历史特写,忠于历史,文辞优美,写出了历史关头,人物的选择。 到不朽的事业中寻找庇护(不朽的逃亡者):1513年9月25日,富有冒险精神的西班牙巴尔沃亚随船到达南美洲,去开拓和寻找财富,他不仅挤走了整支队伍的主人,还赶走了新派来的总督。但是,被他赶走的船队主人却回到了西班牙,向西班牙宫廷举报了他的恶劣行为。为了避免西班牙宫廷的惩罚,他决定率先去寻找南美大陆的财富,以此来庇护自己的安全,在艰苦的旅途之中,他成为了第一个看到太平洋的文明中的人类,并且他知晓了不远的国度中还有存有无限黄金。而就在此时,他的朋友皮萨罗为了抢夺功劳背叛了他,联合国王派下的新总督一起将其暗算 [1] ...
数据密集型应用系统设计 - Designing Data Intensive Applications
数据密集(Data-Intensive)与计算密集(Compute-Intensive)是当今两大负载类型。前者以大数据为代表,后者以深度学习和 HPC 为主要代表。 谨以本书献给那些追逐梦想的人们。 另一个电子版本。 前言数据密集型应用要处理的瓶颈往往是数据的规模、数据的复杂度和数据产生与变化的速率;与之对应的是计算密集型应用,CPU 往往成为其瓶颈。 本书是关于数据处理系统及其相关技术的(NoSQL、消息队列、缓存、搜索引擎、批处理和流处理框架)。 每一种技术都基于一定的设计理念,而且只适用于特定的场景。 不要过度优化。 可靠、可扩展与可维护的应用系统现在的典型系统架构已经很明确了,因为业界已经有成功的案例,对这些组件做了很好的抽象,我们只要做好拿来主义就行了。 可靠性(Reliability)fault tolerance 和 resilience 是系统的容错的体现。 硬件故障对于大型 IDC,即使磁盘的 MTTF...
现代垃圾收集器
所有的垃圾收集器,都基于: 弱分代假设(Weak Generational Hypothesis):绝大多数对象都是朝生夕灭的。 强分代假设(Strong Generational Hypothesis):熬过越多次垃圾收集过程的对象就越难以消亡。 跨代引用假设(Intergenerational Reference Hypothesis):跨代引用相对于同代引用来说仅占极 少数。 实际的垃圾回收效率取决于堆内对象的分布状况。垃圾回收并不能解决内存泄漏或者应用程序逻辑的不良分配习惯问题,要处理 JVM 内存回收问题的根本方法是对程序进行调优。 有几个常用原则: 减少临时对象,尽量复用内存。 使用对象池。 主动提前释放对象。 主动 gc。 好的代码比 tuning 更重要。 选 gc 算法比 tuning 参数重要,tuning 参数是最后一步。 其他情况,可以通过 tuning garbage collector 来解决。 操作系统的影响 SWAP 可能会显著增加 GC...