码猿外 -心得棋牌

    心得棋牌
    • 心得棋牌
    • 专题
    • 电子书
    • 话题
    • 免费视频
    
     写点什么

    创作场景

    
    • 记录自己日常工作的实践、心得
    • 发表对生活和职场的感悟
    • 针对感兴趣的事件发表随笔或者杂谈
    • 从0到1详细介绍你掌握的一门语言、一个技术,或者一个兴趣、爱好
    • 或者,就直接把你的个人博客、公众号直接搬到这里
    登录/注册
    • 架构
    • 前端
    • 编程语言
    • 云计算
    • ai
    • 开源
    • 技术管理
    • 运维
    • 区块链
    • 新基建
    • 云原生
    • 产品
    • 热点推荐

    码猿外

    2018 年 10 月 07 日加入
    功不求戾,但求有恒
    thoughtworks lead consultant,拥有10多年的架构设计和敏捷软件开发管理经验,专注于分布式软件架构设计、微服务架构设计和敏捷软件开发。
    个人心得棋牌主页:https://maguangguang.xyz
     关注
    • 8

      发布数

    • 5

      关注者

    • 2

      关注了

    • 发布
    • 评论
    • 划线
    • 收藏
    • 关注
    • 全部分类 
    2 月 28 日

    微服务一直强调独立自治,滥用共享库让微服务之间的耦合变的紧密,微服务的优势也就不复存在。对于稳定通用且和业务无关的功能模块,可以分别放到独立的共享库中;对于业务相关的代码,不要共享,这部分的冗余是可接受的。

    2 月 24 日

    bff 在前后端分离的架构模式下隔离了前端和后端的关注点,特别是在多个前端或第三方的情况下,bff 都是非常好的选择。然而在实际实现过程中,仍然要时刻警惕,明确 bff 设计的初衷,避免因引入 bff 而带来了更多的问题。

    2020 年 11 月 20 日

    微服务间的循环依赖是一个非常容易发生的坏味道,对系统的健康具有巨大危害。可视化的方式可以帮忙找到系统中的循环依赖问题,比如通过链路追踪系统(如 zipkin)可视化服务间依赖关系,也可以将有问题的流程时序图画出来,然后对症下药,消灭坏味道。

    2020 年 10 月 18 日

    微服务拆分是微服务架构绕不过的话题,随着架构演进,在迭代开发中拆分微服务有时非常必要,微服务拆分不仅是一项技术层面的重构,首先要选择的合适的时机,另外在拆分前一定要理清业务现状,制定好拆分的基本原则,以指导后续拆分的过程。

    2020 年 9 月 12 日

    每个微服务拥有独立的数据库作为微服务架构提倡的实践之一,和其他实践一起,像鲁班锁中的积木一样巧妙组合在一起,共同支撑了微服务架构所具备的优点,在软件开发实践过程中,只有尽量遵守微服务架构所推荐的这些实践,才能最大化的发挥微服务架构的优势。

    2020 年 9 月 2 日

    集成是微服务架构中一定会谈及的问题,在缺少架构约束的情况下,只图一时之快的实现往往会葬送微服务的优势;在微服务架构设计之初,就要在团队内建立一些系统间集成的原则,并且定期 review,必要时可以采用一些架构守护的辅助工具,来保持架构的健康度。

    2020 年 8 月 23 日

    追求系统的高可用就像一个人追求身体健康一样,整个软件开发团队自始至终都要秉持爱护软件系统的心态,在软件开发的全流程中,时刻保持警惕,通过提高团队在三个阶段中的工程化能力来及时发现和解决系统中存在的问题。

    2020 年 8 月 7 日

    微服务架构的流行源于它能够带来更快的变化响应能力,比如独立部署,比如每个服务可以由不同的开发团队负责,每个服务的技术栈也可以不同。 但本质上微服务架构是分布式架构,那么怎么能保证微服务架构下数据的一致性呢?

    个人成就
    • 发布了 8 篇内容

      共 22000字, 被阅读 5250次

    • 获得了 34 次赞同

      获得了 10次喜欢, 获得了 24 次收藏

    • 参与了 5 次互动

      互动包含发布评论、点赞评论、参与投票等

    ta 关注的
    频道
    • 技术管理
    • 编程语言
    • ···
    最新评论
    • 感谢分享
    • 感谢回复,赞同技术为业务服务 确实“每个微服务都使用独立的数据库”是一种实践的原则和思想,我个人觉得如果大家都能够在实践中尽量遵守这些实践的原则,有更多的思考(比如微服务我们要尽量的做到按合理的业务划分),理解这些原则才有可能更大程度发挥架构的作用
    • 无论是强调完全每个微服务都使用独立的数据库,还是面向数据的架构,感觉都只是一种思想,提供解决问题的一个方案和手段。实际项目中,个人觉得还是应该根据业务情况,数据规模,访问并发大小,数据耦合情况这些具体分析,比如如果某个业务对数据库访问的并发非常大,那就尽量的将数据独立出来,如果某些数据库业务耦合性比较高,那么合并发在一个库中,收益也许会更好。技术为业务服务
    • 实际系统构建活动中,数据库(特别是关系数据库)往往设计为业务的最终结果的存储。那么有相连关系的分散的数据库的数据如何实现事务、聚合、以及数据最终一致性的维护成为新的问题。 组成整个系统的各个部分,模块化》组件化》抽象化》微服务化,本质上是一个解耦的进化过程。但是过犹不及,如果微服务本身追求绝对的独立,是否本身又容易演变成单体结构,从而违背了解耦的初衷? 一种设计手法是把数据库访问逻辑作为一个独立组件微服务化,对外的数据写接口表现为消息队列。对外的数据读接口表现为类似 redis 的数据库前端缓存系统。
    • 不能太理想化,面向数据的架构了解一下 https://www.infoq.cn/article/xvrp6bytq75r3cvxayf0?utm_source=related_read&utm_medium=article
    • 促进软件开发及相关领域知识与创新的传播

      活动大本营
      • infoq
        关于心得棋牌
        我要投稿
        关注心得棋牌
      • 联系心得棋牌
        联系电话:010-64738142
        地址:北京市朝阳区叶青大厦北园
      • infoq 近期会议
      • 全球 infoq
      心得棋牌 copyright © 2021, geekbang technology ltd. all rights reserved. 极客邦控股(北京)有限公司 |
      网站地图