Breaking Dependencies: The SOLID Principles0 码力 | 96 页 | 2.14 MB | 1 年前3
微服务的设计原则与⽣态系统 - 王磊## 微服务的设计原则 与生态系统 王磊 ## 关于我  Ruby Gems 开发实战 :非故障的节点在合理的时间内返回合理的响应 - 分区容错性(Partition Tolerance):当网络出现分区后,系统依然能够继续履行职责 在分布式环境下,网络无法做到100%可靠,有可能出现故障,因此分区是一个必然选项。如果选择了CA而放弃P,若发生分区现象时,为了保证C,系统需要禁止写入,此时就与A冲突了,如果是为了保证A,则会 • 如果服务调用依赖接口返回值,并且多个服务之间没有依赖,可以采用并行调用减少耗时 ## 微服务最佳实践 ## 业务驱动原则 识别核心业务域,形成基础业务能力 根据业务定位、范围、边界进行服务的划分 - 首先关注服务的业务范围,而不是服务的数量、粒度 ## 服务分层原则 划分基础、聚合、流程服务 • 基础服务贴近业务实体,提供业务的基础能力 - 聚合服务聚合基本业务场景,满足高一层业务场景并可复用0 码力 | 120 页 | 82.16 MB | 2 年前3
字节跳动云原生微服务架构原理与开源实践 CloudWeGo 技术白皮书 2024字节跳动云原生微服务架构原理与开源实践 CloudWeGo 技术白皮书 出品:字节跳动基础架构服务框架团队 ’ alt=‘OCR图片’/> 团队介绍 字节跳动基础架构服务框架团队主要职责包括对内和对外两部分。对内,提供微服务研发框架和基础库(研发视角)、微服务运行时(服务运行视角)、微服务治理(维护视角),参与服务生命周期的研发、运行、维护、下线等阶段,横向支持成本优化、架构演进、安全体系建设 理能力。微服务的owner只需要打开动态负载均衡的开关,就可以发现流量已经自动调谐了。 为了解决前面所提到的日志的坑,字节构建了日志在线收集系统。每台宿主机上依然会有log agent,但是它的最大职责变成了收集所有容器中的日志。它可以配置为检索磁盘日志并实时传输到中心化日志收集的能力,但更多的是与日志sdk直连。日志sdk可以选择绕开磁盘,直接通过log agent和网络,把日志写到远端。这样微 CL服务身份鉴定的覆盖率从~5%提升到~40%。在ACL推广的过程中会遇到很多问题,一定会有很多的用户对推广存在疑虑。与业务线的负责人做充分的沟通,并批量推进,是快速推进的法宝。业务的安全会遵循木桶原则,必须要统筹所有服务共同加强安全性,才能够使得业务最终得到安全。如果可以很好地阐明最终的收益,并且保证稳定性的前提,同时提供一套批量开启的工具,那么业务将很难有理由拒绝。 你有想象ACL系统整体崩0 码力 | 68 页 | 24.07 MB | 4 月前3
2019-2021 美团技术年货 前端篇大的性能问题,主要体现在以下两方面: - 首屏渲染时间长。即使使用了 FutureBuilder 把业务代码拆分成 xxx.part.js 之后,main.dart.js 体积依然维持在 1.1M。单一文件加载、解析时间过长,且静态资源缺少 CDN 化的支持,势必会影响首屏的渲染时间。 - 滚动性能较差。Flutter Web 自身实现了一套页面滚动机制,在页面滚动过程中,会频繁的创建 Canv 后)、图片文件。直接应用这些资源到项目中,会遇到以下问题: - 功能无法及时更新:浏览器对同名文件的缓存,可能导致程序代码不被及时更新或者出现执行错乱。 - 首屏渲染性能差:main.dart.js 文件过大,单一文件加载、解析时间过长,势必会影响首屏的渲染时间。 - 无法使用 CDN:Flutter 仅支持相对路径的加载方式,无法使用当前域名以外的 CDN 域名,导致无法享受 CDN 带来的优势。 为此,在加载部分我们对 默认仅支持相对域名的资源加载方式,无法使用当前域名以外的 CDN 域名,导致无法享受 CDN 带来的优势; - 首屏渲染性能不佳:虽然我们进行了 SDK 瘦身,但 main.dart.js 文件依然维持在 0.7M 以上,单一文件加载、解析时间过长,势必会影响首屏的渲染时间。 针对文件 Hash 化和 CDN 加载的支持,我们在 flutter_tools 编译流程中对静态资源进行二次处理:遍历静态资源产物,增加文件 Hash(文件内容0 码力 | 738 页 | 50.29 MB | 2 年前3
DeepSeek从入门到精通(20250204)步骤,反而可能限制其能力)。 2 ## 通用模型 - 需显式引导推理步骤(如通过CoT提示),否则可能跳过关键逻辑。 • 依赖提示语补偿能力短板(如要求分步思考、提供示例)。 ## 关键原则 ## 模型选择 1 优先根据任务类型而非模型热度选择(如数学任务选推理模型,创意任务选通用模型)。 ## 提示语设计 2 - 推理模型:简洁指令,聚焦目标,信任其内化能力。(“要什么直接说”)。 忽视AI输出可能带来的伦理影响。 ## 应对策略: ·了解界限:熟悉AI系统的基本伦理准则和限制。 · 合法合规:确保你的请求符合法律和道德标准。 ·伦理指南:在提示语中明确包含伦理考虑和指导原则。 · 影响评估:要求AI评估其建议或输出的潜在社会影响。 ## 提示语设计检查清单 · 目标明确性 ·信息充分性 · 结构合理性 ·语言中立性 ·伦理合规性 · 可验证性 ·迭代空间 |灵活调整|可根据中奖结果随时调整后续提示|实时调整需要较高的判断和决策能力| ## 提示语链的设计原则 提示语链的设计需要遵循一定的原则,以确保其在任务执行中的有效性和连贯性。这些原则为提示语链的构建提供了清晰的指导,帮助系统地组织和引导任务的分解与处理,以下是设计提示语链时应该考虑的关键原则:  ## 划分限界上下文 ## 如何进行事件风暴? 1. 确定要进行事件风暴的业务场景,场景需要单一而且清晰; 2. 用“XXX已XXX”的格式在橙色便利贴上写下事件,工作坊参与者需要对事件定义达成一致; 3. 根据时间顺序把事件便利贴贴到白板上; 4. 如果一个事件有同步发生的其它事件,把其它事件放在事件下方; 如果不能独立访问应该需要通过哪个领域模型来访问?当前领域模型就是与该可独立访问的领域模型为同一个聚合 2. 将命令贴在聚合的左面,是聚合的输入;事件贴到聚合的右面,是聚合的输出。 3. 再根据聚合的原则(下一页描述)来检验上面的划分结果是否匹配,如不匹配则基于划分原则并结合业务重新调整聚合。 ## 聚合示例 添加商品 编辑 商品 商品已创建 商品已编辑 创建订单 商品销售 $ ^{↑} $ 格已编辑 商品 编辑销售 上下文:场景、环境;所以限界上下文是在某个场景或环境下的业务边界。该边界就是业务上的职责。 ## 为什么使用限界上下文? 业务的扩展会产生越来越多的领域模型,任何大型项目都会存在很多的领域模型。当不同领域模型对应的软件代码被放在一起后,软件就变得庞大且复杂,代码难于理解、且容易出现bug,所以需要通过限界上下文来明确定义领域模型的范围和职责。 ## 寻找聚合 












