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

    快速学习-RocketMQ设计理念

    设计(design) ---- 1 消息存储 ? 从上面1)~3)中可以看出在消息生产者, Broker和NameServer之间都会发生通信(这里只说了MQ的部分通信),因此如何设计一个良好的网络通信模块在MQ中至关重要,它将决定RocketMQ集群整体的消息传输能力与最终的性能 消息消费队列在同一消费组不同消费者之间的负载均衡,其核心设计理念是在一个消息消费队列在同一时间只允许被同一消费组内的一个消费者消费,一个消息消费者能同时消费多个消息队列。 (3) 根据发送结果执行本地事务(如果写入失败,此时half消息对业务不可见,本地逻辑不执行)。 5.2 RocketMQ事务消息设计 1.事务消息在一阶段对用户不可见 在RocketMQ事务消息的主要流程中,一阶段的消息如何对用户不可见。

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

    现代云原生设计理念

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

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

    架构设计理念&模型

    理念 今天我们还需要关注 DDD 吗? the-clean-architecture.html(中文版:https://www.cnblogs.com/Leo_wl/p/3980783.html) 清晰架构(融合各类架构):https://www.jianshu.com/p/d3e8b9ac097b

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

    RocketMQ架构设计理念

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

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

    Web端设计理念

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

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

    Apache Kafka设计理念探究

    创造一个分布式的实时流处理平台,也正是因为这个原因,Kafka选择了将日志分区和消费者群组模型。

    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 官方的 Blog 这类信息渠道,或者其他非官方资料去完成。 3.用户根据业务系统的实际情况,创建 PersistentVolumeClaim,声明 Pod 运行所需的存储能力。 比如开发要3g空间,最小的PersistentVolume是5g,就浪费了2g。 provisioner: kubernetes.io/aws-ebs #AWS EBS的Provisioner parameters: type: gp2 reclaimPolicy: Retain 3.

    66320编辑于 2023-08-10
  • 来自专栏远在上海

    3段认同的理念

    第一个关于技术人员的历史积累问题: 对程序员来讲,开发思想、架构、代码、程序、软件、系统就是财富,别老丢弃你的劳动成果,放弃你的积累,要学会保护你的劳动成果。 我10年前的代码都在手上,经常改进来改进去,维护来维护去,在一定的程度上,让我生活轻松了不少,因为我不用什么都从头来过,我只要痛苦一次,以后就要反复重复利用,软件的价值在于重复利用,而不是每个东西,都从头开发,那永远也是辛苦的程序员,这个生活质量就别提了,不管自己的代码丑还是拿不出手,要学会精心维护,每天改进一点点,每个月一个小进步,每年一个大进步

    38230发布于 2019-02-26
  • 来自专栏Tencent Serverless 官方专栏

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

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

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

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

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

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

    设计理念-数组的褒与贬

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

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

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

    本文分享一下 Harbor 的产品设计理念。有两段经历影响到了我在 Harbor 设计上的构思。 不少产品经理或工程师总爱追求 perfect (完美),凡事都要讲究优雅的设计、灵活的扩展能力,一劳永逸的解决方案。可是我们往往发现这些“优秀”的方案还没走向市场和用户,就已经胎死腹中。 认证 2)日志审计 (操作可追溯性) 3)镜像复制(多数据中心或云环境之间的镜像自动同步) 4)图形化管理界面(几乎是企业应用必备) 这4个功能的思路是受到之前的身份管理领域经验的启发,如镜像复制的灵感来源于 Harbor是最早实现镜像复制的Registry 在 Harbor 的设计思路中还很注重听取用户的反馈意见,遵循“从用户中来,到用户中去”的原则,不断完善、修正和迭代。 精准的定位和恰当的设计确立了产品的整体格局,使产品具有了良好的开端。随后是高效地实现产品和目标明确的市场推广。有机会再和大家分享这方面的心得。

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

    高级前缀码的Huffman设计理念

    本期记录一下Zipack的类型树和前缀表。从类型树上看,Zipack一共有21种数据类型,包括15种已分配类型和6种保留类型,15种已分配类型中又有11种基本类型和4种复合类型,11种基本类型中有5个是实数类型。大家可以按这种分类方法把所有类型一一对应上去,理解一遍。

    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很容易成为瓶颈,最终导致它的可扩展性问题。 3)资源利用率低:TaskTracker使用slot等量划分本节点上的资源量。slot代表计算资源(CPU、内存等)。 二级调度的设计大大减少了ResourceManager的压力。 3)集群管理器(Cluster Manager)会根据应用的需求,给应用分配资源,即将具体任务分配到不同Worker节点上的多个Executor来处理任务的运行。 3)Executor:主要负责任务的执行及与Worker、Driver的信息同步。

    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框架无不体现着上述两项设计理念 他们的设计模式都是ActiveRecord,ActiveRecord做CRUD很简单,每个对象可以有自己的Fetch,FetchByxxx方法,从开发者的角度看这些对象,它们知道如何加载和保存自己,对象自己来维护 3、Ajax,这年头,一个web框架肯定要支持ajax,asp.net mvc框架目前对ajax的支持方面很多人用jQuery做例子的很多。 总之,贯穿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
领券