首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏cwl_Java

    快速学习-RocketMQ设计理念

    设计(design) ---- 1 消息存储 ? 同样consumequeue文件采取定长设计,每一个条目共20个字节,分别为8字节的commitlog物理偏移量、4字节的消息长度、8字节tag hashcode,单个文件由30W个条目组成,可以像数组一样随机访问每一个条目 消息消费队列在同一消费组不同消费者之间的负载均衡,其核心设计理念是在一个消息消费队列在同一时间只允许被同一消费组内的一个消费者消费,一个消息消费者能同时消费多个消息队列。 5.2 RocketMQ事务消息设计 1.事务消息在一阶段对用户不可见 在RocketMQ事务消息的主要流程中,一阶段的消息如何对用户不可见。 4.Half消息的索引构建 在执行二阶段Commit操作时,需要构建出Half消息的索引。

    89830发布于 2020-09-18
  • 来自专栏精益码农

    现代云原生设计理念

    现代设计理念 你会如何设计云原生应用程序? 需要遵循哪些原则、模式和最佳实践? 需要特别关注哪些底层/操作? 新要素 描述 API First 使一切成为服务(如果你的代码将被前端、网关或其他服务使用) Telemetry 在程序设计中包含遥测、健康检查 Authentication/Authorization 一开始就实现身份认证和鉴权 关键的设计考量 除了十二要素方法提供的指导之外,还必须注意几个关键的设计考量。 第4章“云原生通信模式”详细介绍了通信。 Resiliency 弹性 微服务架构将系统从进程内网络通信转移到进程外网络通信。 Distributed Data 分布式数据 按照设计预期,每个微服务都内嵌自己的数据,通过公开接口暴露。 如果是这样,如何实现跨多个服务的数据查询/事务?

    1.8K20发布于 2021-03-12
  • 来自专栏xiaoxi666的专栏

    架构设计理念&模型

    理念 今天我们还需要关注 DDD 吗? www.cnblogs.com/shanyou/archive/2010/09/16/cep.html 再谈EDA事件驱动架构:http://itindex.net/detail/40186-eda-%E4% BA%8B%E4%BB%B6%E9%A9%B1%E5%8A%A8-%E6%9E%B6%E6%9E%84 微服务架构:https://www.infoq.cn/article/micro-service-technology-stack

    63410发布于 2020-03-19
  • 来自专栏人生得意须尽欢

    RocketMQ架构设计理念

    RocketMQ是基于主题的发布与订阅模式,核心功能包括消息发送、消息存储、消息消费,整体设计追求简单与性能第一,归纳来说主要是下面三种: NameServer取代ZK充当注册中心,NameServer 集群间互不通信,容忍路由信息在集群内分钟级不一致,更加轻量级; 使用内存映射机制实现高效的IO存储,达到高吞吐量; 容忍设计缺陷,通过ACK确保消息至少消费一次,但是如果ACK丢失,可能消息重复消费,这种情况设计上允许 这样的设计方式降低了NameServer实现的复杂性,当路由发生变化时通过在消息发送端的容错机制来保证消息发送的高可用(这块内容会在后续介绍producer消息发送时介绍,本文不展开讲解)。

    57120发布于 2021-09-24
  • 来自专栏企鹅号快讯

    Web端设计理念

    设计理念设计的核心思想与运作原则,是为了明确设计团队方向,确保围绕着核心准则去运作,而出现的指引设计师按既定线路前行。即设计团队在企业中存在的使命、任务、价值。 所以在制作web端设计规范系列规范时,第一部分就是Web端设计理念篇。 设计团队的意义是能理解分析最终用户的需求,通过专业的设计手段、方法去实现企业战略解决相关问题。 以什么而设计? 这是设计理念的基础。这需要去明确并坚守它,我总结了两条: 1.以业务需求为基础的设计 1.设计脱离业务就失去了设计存在的意义,设计本身就应该将业务思维转化为设计思维。 2.以用户为中心的设计 1.产品设计是从用户需求和用户的感受出发,围绕用户为中心设计产品,而不是让用户去适应产品。 不同端的设计理念 不同的使用对象(B端、C端)设计理念也有所区别。 B端产品一般架构复杂且较定制化,以业务为导向。可能有很多高级功能,突出高效易用,导致易学性打折扣。

    92090发布于 2018-01-29
  • 来自专栏鸿的学习笔记

    Apache Kafka设计理念探究

    (zero-copy optimization,在具体的实现则是Linux中的sendfile system call方法) 此外,Kafka也提供了GZIP, Snappy and LZ4等协议压缩数据

    66910发布于 2018-09-18
  • 来自专栏字根中文校对软件

    google 和 unixlite 的设计理念

    google 和 unixlite 的设计理念     昨天 feng.you 给我这条信息:the google legacy。   2、不使用java技术构建基础架构,虽然java是被设计为面向分布式大型系统的。 3、不购买昂贵的高性能服务器; 4、不购买超级计算机,并且不计划用备用系统(非数据备份冗余);     大家现在都知道google用的是廉价的pc服务群来工作的( Google秘密数据中心暴露 )。 他们的设计理念可以在: http://www.unixlite.org/faq.html 看到。     他们只是用:c++ 的 成员函数,单集成 和虚函数,并认为这足够了。 他们认为:如果c++没有如下特性那么c和c++是没有区别的: 1、异常处理 2、多继承 3、运行时类型识别 4、操作符重载(不包括 new 和 delete) 5、模版     所以我们在设计软件架构的时候一个清晰的理念是非常重要的

    52120发布于 2019-02-14
  • 来自专栏Java技术圈子

    谈谈Kubernetes的存储设计理念

    谈谈Kubernetes的存储设计理念 用三篇文章学习容器编排系统存储方面的知识点。今天这节课,我们先来探讨下 Kubernetes 的存储设计理念。 Kubernetes 的存储设计考量 Kubernetes 在规划持久化存储能力的时候,依然遵循着它的一贯设计哲学,用户负责以资源和声明式 API 来描述自己的意图,Kubernetes 负责根据用户意图来完成具体的操作 而介绍 Kubernetes 设计理念的职责,只能由Kubernetes 官方的 Blog 这类信息渠道,或者其他非官方资料去完成。 4.Kubernetes 在创建 Pod 的过程中,会根据系统中 PersistentVolume 与 PersistentVolumeClaim 的供需关系,对两者进行撮合,如果系统中存在满足 PersistentVolumeClaim standard #明确指出该由哪个StorageClass来处理该PersistentVolumeClaim的请求 resource: requests: storage: 5Gi 4.

    66320编辑于 2023-08-10
  • 来自专栏Tencent Serverless 官方专栏

    Serverless 设计理念:从头创建品牌标识

    如何在开源技术社区中做设计?本文来自 Serverless 团队中首席设计的分享 —— 展现了设计过程,供想要创建可靠品牌标识(无论是从头创建品牌标识,还是希望改进现有标识)的设计师参考。 在职场上,我从一名专业设计师不断成长,先是担任艺术总监,后又成为设计总监。但我渴望突破,想尝试一些新的东西。 增长型设计系统 关于设计,首先要谨记的是——设计是为了达到某种目的。它的作用是建立一个社区,讲述一个故事,提高产品的认知度和使用率。 因此,它总是在变化。 这个设计能够有所表达吗? 设计不仅仅是艺术,而是需要为公司实现目标。为了做到这一点,作为设计师,您需要了解设计的目的,以及如何使设计达到目的。 要设计一件能够给人留下深刻印象的作品,不仅需要冒险和尝试,还需坦率地听取反馈意见,了解设计中的可行和不可行之处。在我开始领导增长团队的设计交流后,我要求整个团队对我的设计给予反馈。

    1.5K43发布于 2020-02-18
  • 来自专栏noteless

    JDBC设计理念浅析 JDBC简介(一)

    JDBC架构设计 JDBC主要包括两类接口: 提供了一套纯粹的JAVA API给应用程序开发者  提供了一套低级别的JDBC driver API给数据库驱动开发者 应用程序开发者借助于 sql = "select * from student"; //3、获得sql语句执行对象 Statement stmt = conn.createStatement(); //4、 ; System.out.print(",年龄:" + rs.getInt(3)); System.out.println(",性别:" + rs.getString(4) 总结 JDBC就是JAVA语言开发需要连接数据库的应用程序 ,所需要使用的JAVA API 提供了数据库驱动程序的管理,连接,语句执行,以及结果返回等工作,是应用程序与数据库之间的薄层封装 JDBC的理念遵循依赖倒置原则 原文地址:JDBC设计理念浅析 JDBC简介(一)

    1.2K20发布于 2019-02-25
  • 来自专栏图南科技

    设计理念-数组的褒与贬

    但是这种数据结构对于以PHP为入门语言,并且一直从事PHP开发的一类开发者来说,并不是好事,他们会缺少针对属性,实体相关的设计思路,认为一切皆数组,如下图《PHP数组传递》。 优秀的设计思想应该是应该以对象的角度看待事物,分析业务,而不是临散的属性,随意的数组。而你在附属于框架,服务于业务时,势必要做些妥协。 ?

    47920发布于 2019-07-04
  • 来自专栏亨利笔记

    Harbor开源镜像仓库的设计理念

    首先要感谢的是 VMware 中国研发中心总经理任道远先生,从4年前内部项目开始持续支持着 Harbor 的研发和社区的拓展,为 Harbor 的成功奠定了坚实基础。 本文分享一下 Harbor 的产品设计理念。有两段经历影响到了我在 Harbor 设计上的构思。 在容器镜像管理场景中,我意识到企业对镜像访问的控制、操作审计和镜像的传输备份都有较高的要求,因此在 Harbor 最早的设计中仅实现了4个主要功能,以安全控制为主: 1)RBAC ,支持 LDAP/AD 认证 2)日志审计 (操作可追溯性) 3)镜像复制(多数据中心或云环境之间的镜像自动同步) 4)图形化管理界面(几乎是企业应用必备) 这4个功能的思路是受到之前的身份管理领域经验的启发,如镜像复制的灵感来源于 精准的定位和恰当的设计确立了产品的整体格局,使产品具有了良好的开端。随后是高效地实现产品和目标明确的市场推广。有机会再和大家分享这方面的心得。

    84740发布于 2019-04-12
  • 来自专栏Web行业观察

    高级前缀码的Huffman设计理念

    从类型树上看,Zipack一共有21种数据类型,包括15种已分配类型和6种保留类型,15种已分配类型中又有11种基本类型和4种复合类型,11种基本类型中有5个是实数类型。 键值无缝拼接 字典 1111 0111 vlq自然数+32 键值对的数量 键值无缝拼接 保留类型 FB、FC、FD、FE、FF \ \ \ 保留类型(带长度) 1110 0000 ~ 1110 1111 4bit

    67220发布于 2021-01-04
  • 来自专栏全栈前端精选

    从 Redux 设计理念到源码分析

    本篇先从 Redux 的设计理念到部分源码分析。下一篇我们在注重说下 Redux的 Middleware工作机制。 至于手写,推荐砖家大佬的:完全理解 redux(从零实现一个 redux) Redux Redux 并不是什么特别 Giao 的技术,但是其理念真的提的特别好。 设计思想 在 jQuery 时代的时候,我们是「面向过程开发」,随着 react 的普及,我们提出了状态驱动 UI 的开发模式。我们认为:「Web 应用就是状态与 UI 一一对应的关系」。 学习它,也主要是为了学习他的编程思想和设计范式。 当然,我们也可以从 Redux 的代码里,看看大佬是如何使用 ts 的。所以源码分析里面,我们还会去花费不少精力看下 Redux 的类型说明。 而 combineReducers也是我认为是费巧妙的设计。所以这些篇幅,就放到下一篇吧~ 参考链接 redux 10行代码看尽Redux实现 Redux 中文文档

    1.2K30发布于 2020-04-26
  • 来自专栏牛肉圆粉不加葱

    YARN 设计理念与基本架构

    此外,调度器是一个可插拔的组件,用户可根据自己的需求设计新的调度器,YARN 自身提供了 Fair Scheduler 和 Capacity Scheduler。 参考:《Hadoop 技术内幕:深入解析 YARN 架构设计与实现原理》

    62910发布于 2018-08-24
  • 来自专栏Spark学习技巧

    Spark设计理念和基本架构

    这种紧耦合的设计会导致以下问题: 1)可扩展性差:在运行时,JobTracker既负责资源管理,又负责任务调度,当集群繁忙时,JobTracker很容易成为瓶颈,最终导致它的可扩展性问题。 4)无法支持多种MapReduce框架:无法通过可插拔方式将自身的MapReduce框架替换为其他实现,如Spark、Storm等。 二级调度的设计大大减少了ResourceManager的压力。 5)灵活的内存管理策略:Spark将内存分为堆上的存储内存、堆外的存储内存、堆上的执行内存、堆外的执行内存4个部分。 4)支持SQL查询。在数据查询方面,Spark支持SQL及Hive SQL,这极大地方便了传统SQL开发和数据仓库的使用者。

    1.3K60发布于 2018-06-22
  • 来自专栏张善友的专栏

    Rails框架流行在他的设计理念

    这两天看了一本书《Grails权威指南》,看了这个Java上Rails框架,其中有两条设计理念: 1、make simple thing easy and make complex possible 几乎成了敏捷web框架的代名词,Java社区的Grails,.NET开源项目Mono Rails和Subsonic,还有微软ASP.NET Team正在做的ASP.NET MVC框架无不体现着上述两项设计理念 MonoRail之前默认用的是prototype库,MonoRail团队正在支持其他的javascript框架,可参看jQuery 和 MonoRail 4、Loger: 对一个web应用,log是很常用的 4、动态语言:随着DLR的到来,动态语言也来到了.NET,DLR现在发布Alpha 8, SliverLight 2.0的到来,DLR就将就充当一个重要角色,也就是IronPython、IronRuby 总之,贯穿RoR的设计理念,这点对我们用.NET开发是很好的借鉴。

    3K50发布于 2018-01-30
  • 来自专栏靠才华整容

    不为别的,聊聊react源码的设计理念

    前言 以前在看一些开源项目的源码时,比如cornerstone(一种为医学影像服务的web框架),折服于其优秀的设计模式,灵活的工具扩展,丰富的数据结构,在当时阅读和学习这些源码时,都是出于公司业务考虑 ,只是看懂了个大概,而如今随着编码技能的提高和经验的积累,我发现,源码的背后其实是在阐述一种设计理念,自顶而下,设计思想抽象逐渐落地,落实到每一行代码,同时我也有了进一步的体会,软件架构在某种程度上是为了服务它的设计理念 闲来无事,看了一些react的源码,聊聊react的设计理念。 React理念 官网告诉我们:“我们认为,React 是用 JavaScript 构建快速响应的大型 Web 应用程序的首选方式。 设计了Suspense功能以及配套的hook --- useDeferredValue 总结 react为实现“构建快速响应的大型web应用”目的在渲染和网络请求上做了很多努力,并在架构设计方面也是言行合一 ,比如fiber架构的设计,diff算法的优化等等,下篇我们再一起探讨React的新老架构,以及为此所做的努力。

    81940编辑于 2022-03-15
  • 来自专栏code秘密花园

    全新的 React 组件设计理念 Headless UI

    我当时看过之后,就对该理念产生了很大的兴趣,同时工作中也正好有机会实践(着手公司开源组件库大版本重构),因此对该理念也有一定的实践经验。 HeadLess UI Headless UI 的定义 Headless UI 目前社区还在探索实践阶段,这里我对它做了个简单定义:Headless UI 「一套基于 React Hooks 的组件开发设计理念 劣势 「对开发者能力要求高,需要较强的组件抽象设计能力」 抽象层次越高,编写难度越大。对于这样 headless 组件,我们关注的组件 API 设计和交互逻辑抽离,这非常考验开发者的组件设计能力。 另外,在 React Next 2022 大会上,也有嘉宾分享介绍 Headless UI 相关的理念,整个社区目前都处在持续发酵的阶段。 总结 那么,以上就是关于 headless 设计理念的全部内容。「通过 Headless」 「UI」 「,我们可以快速复用组件的状态以及交互逻辑,对于布局和样式实现完全自定义」。

    2.2K10编辑于 2023-01-09
  • YashanDB的核心架构:了解其设计理念

    在现代数据库系统中,如何优化查询速度是设计与实现的核心挑战之一。高效的查询不仅提升用户体验,也直接影响系统的吞吐能力和资源利用率。 本文将从架构层面深入解析YashanDB的设计理念,帮助读者理解其底层技术实现。多样部署架构支持灵活场景需求YashanDB支持三种主要的部署架构:单机部署(主备模式)、分布式集群部署和共享集群部署。 每种部署方式针对不同的业务场景进行了优化设计。单机部署采用主备实例架构,依赖主备复制机制保证数据同步与高可用,适合对高可用需求相对适中或规模不大的应用。 SQL引擎与执行优化机制YashanDB的SQL引擎由解析器、优化器和执行器组成,优化器采用基于成本模型(CBO)设计,动态利用统计信息,生成最优执行计划。 理解其设计原理和技术细节,有助于在实际项目中合理配置与调优,例如通过优化索引设计、调整事务隔离策略、合理分区表以提高查询速度和数据管理效率,从而充分发挥数据库的性能优势。

    17110编辑于 2025-10-18
领券