首页
学习
活动
专区
圈层
工具
发布
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    如何成为一名优秀的架构师?

    在 WSO2,我参与架构评审的时间已长达八年之久。WSO2 的产品非常丰富,比如 WSO2 ESB 、WSO2 API Manager 以及 WSO2 SP 都人尽皆知。...但是,如果你不够投入和细心,你的意见可能会让团队感到困惑,团队就无法确定正确的做法到底是什么。 接下来我会将30个架构原则一一列出,其中一些原则是众所周知的,而有些则源于我的个人经验和心血。...服务器设计与并发 原则13:从硬件、操作系统到你使用的编程语言等多方面深入了解服务器的工作原理。优化 IO 操作的效率是一个良好架构的首要任务。 原则14:遵循 Amdhal 的同步定律。...原则24:当你无法在两个选项之间做出决定时,请不要通过配置选项的方式来呈现问题。这会给用户和架构师带来麻烦。对于系统如何运作的细节,他们没有你了解,他们怎么能做出决定呢?...最后,如果这需要多个团队之间的协商,该功能可能永远都无法完成。 现在来看,我愿意接受重复。治疗带来的结果可能会比疾病导致后果更严重。

    1.7K60

    这么强?!Erda MySQL Migrator:持续集成的数据库版本控制

    现代软件工程逐渐向持续集成、持续交付演进,软件一次性交付了事的场景逐渐无法满足复杂多变的业务需求,“如何高效地进行软件版本控制”成为我们面临的挑战。...database migrations 脚本没有统一管理,遗失错漏时有发生;不确定脚本的状态是否应用,也许在这个环境应用了但在另个环境却没有应用;脚本里有一行破坏性代码,执行了后将一个表字段删除了,数据无法恢复...,只能“从删库到跑路”;……为了应对这样的乱局,我们需要数据库版本控制工具。...| 20210528-apim-base.sql || apim | 20210709-01-add-api-example.py...从以上脚本结构可以看到,我们选用的 Django ORM 来描述模型和进行 CRUD 操作。为什么采用 Django ORM 呢?

    1.2K20

    成为一个优秀架构师,你必须了解的 30 条设计原则

    他是 Apache 的核心成员,拥有 15 年分布式系统编程经验,设计了 Apache Axis2 以及 WSO2 流处理器。 在 WSO2,我参与架构评审的时间已长达八年之久。...WSO2 的产品非常丰富,比如 WSO2 ESB 、WSO2 API Manager 以及 WSO2 SP 都人尽皆知。在过去八年中,我们对许多产品和功能进行了讨论、设计、改进和重新设计。...服务端设计和并发 原则 13:要知道一个 Server 是如何运行的,从硬件到操作系统,直到编程语言。优化 IO 调用的数量是你通往最好架构的首选之路。 原则 14:遵循 Amdhal 的同步定律。...原则 24:当你无法在两个选项之间做出决定时,请不要通过配置选项的方式来呈现问题。这会给用户和架构师带来麻烦。对于系统如何运作的细节,他们没有你了解,他们怎么能做出决定呢?...因为在项目初始状态时,很多事情是不确定的,你无法做到这样的独立性,现在我认为在开始的时候适当的重复是必要的,当你尝试铲除他们的时候,你会发现引入了新的复杂性,分布本身就意味着复杂。

    1.7K10

    优秀架构师必须了解的6大方面30条设计原则

    在 WSO2,我参与架构评审的时间已长达八年之久。WSO2 的产品非常丰富,比如 WSO2 ESB 、WSO2 API Manager 以及 WSO2 SP 都人尽皆知。...三、服务端设计和并发 原则13:要知道一个server是如何运行的,从硬件到操作系统,直到编程语言。优化IO调用的数量是你通往最好架构的首选之路。 原则14:遵循 Amdhal 的同步定律。...原则20:分布式系统共识不支持扩展,也无法进行组通信,不支持群集范围内的可靠消息传递。其最大节点限制大约是八个节点。 原则21:在分布式系统中,你很难隐藏分布式系统中的延迟和故障。...原则24:当你无法在两个选项之间做出决定时,请不要通过配置选项的方式来呈现问题。这会给用户和架构师带来麻烦。对于系统如何运作的细节,他们没有你了解,他们怎么能做出决定呢?...因为在项目初始状态时,很多事情是不确定的,你无法做到这样的独立性,现在我认为在开始的时候适当的重复是必要的,当你尝试铲除他们的时候,你会发现引入了新的复杂性,分布本身就意味着复杂。

    1.3K20

    Cluster out:一种构建现代应用程序的设计方法

    尝试将 kube-proxy 用于 L7 流量可能会导致性能下降,并且默认使用可能无法映射到应用程序级要求的连接级安全策略。...您可以根据 Cluster Out 方法检查应用程序性能的各种参数;使用 Kubernetes 资源指标和 API,您可以从整体上监控和观察容器、Pod、服务和集群性能。...为此,需要 API 管理 (APIM)。传统的 APIM 解决方案不是为快速发展和快速扩展的 Kubernetes 世界和驱动大量 API 使用的东西向流量而设计的。...因为它们是为数量较少的 API 而设计的,在动态性较低的基础架构上更改频率较低,因此传统的 APIM 太脆弱且通常太昂贵而无法在 Kubernetes 中有效运行。...这些 APIM 解决方案必须低延迟且易于管理,因为复杂的环境可能有数千个 API。例如,您不希望 API 网关依赖于可能无法以应用程序速度执行的数据库,从而降低应用程序性能。

    68120

    讨论软件架构的30个共同原则

    在WSO2,我已经完成了八年多的架构评审。WSO2拥有广泛的产品组合,包括众所周知的WSO2 ESB,WSO2 API Manager和WSO2 SP。...从长远来看,它将节省很多麻烦,否则,在构建所有内容之前,您无法测试系统。此外,根据这一原则,您的版本将更加顺畅。 原则8:留意“谷歌嫉妒”。我们都喜欢闪亮的设计。...服务器设计和并发 原则13:了解服务器的工作方式,从硬件到操作系统,再到编程语言。优化IO调用的数量是迈向最佳架构的第一指导。 原则14:了解Amdhal关于同步的定律。...原则24:如果您无法在两个选项之间做出决定,请不要通过将其作为配置选项来传递问题。您正在为用户和解决方案架构师努力工作。如果他们对系统的工作方式了解甚少,那么他们又如何决定呢?

    1.4K30

    系统集成工具选择问题:系统集成工具选择不当,无法满足需求

    下载地址:WSO2(4)API 管理工具Kong强大的 API 网关,支持微服务架构。下载地址:KongApigee谷歌提供的 API 管理平台,适合大规模企业应用。下载地址:Apigee3....评估工具的功能与适用性在选择工具时,可以从以下几个方面进行评估:易用性:工具是否易于安装、配置和使用。覆盖范围:是否支持目标系统的集成需求。扩展性:是否支持与其他工具(如监控工具、日志管理工具)集成。...结合多种工具单一工具可能无法满足所有需求,可以结合多种工具使用。例如:使用 MuleSoft 管理核心系统集成。使用 Zapier 自动化日常任务。使用 Kong 管理微服务 API。5.

    1K10

    「事件流处理架构」事件流处理的八个趋势

    在过去的九年中,商业和开源ESP平台的数量已经从少数增长到40多个。本文总结了该软件的八个主要趋势。 无处不在 ——几乎所有主要软件供应商都提供一个或多个ESP产品(见下面的列表)。...在边缘或靠近边缘的地方运行ESP有很多好的理由:对不断变化的条件做出快速响应的较低延迟;较少的网络开销;以及更高的可用性(由于网络关闭或云服务器关闭,您负担不起让工厂、车辆或其他机器无法运行)。...Bookkeepper, Heron, Pulsar) …and apologies to those I may have overlooked 其他供应商, 包括Software AG(Apama)和WSO2...Apama Streaming Analytics Striim Platform TIBCO BusinessEvents, Streaming Vitria VIA Analytics Platform WSO2

    2.8K10

    云计算与AI的完美邂逅:技术融合的未来蓝图

    AI即服务(AI-as-a-Service)AI从“开发复杂”到“即插即用”的模式转变,可以说离不开云计算的推动。云服务商提供了许多预构建的AI服务,例如语言翻译、图像识别、语音合成等。...endpoint = "https://your-endpoint.cognitiveservices.azure.com/"key = "your-api-key"# 请求头与数据headers = {"Ocp-Apim-Subscription-Key...", headers=headers, json=data)# 输出情感分析结果print(response.json())通过Azure的预构建API,我们只需几个请求便能实现情感分析功能,是不是比从零写算法要高效得多...四、展望:云计算与AI的下一站从目前的发展趋势来看,云计算与AI的融合将进一步深入。...量子计算的加入undefined随着量子计算技术的突破,云计算平台可能会开始提供量子AI服务,用于破解当前计算资源无法处理的问题,例如药物研发。

    85410

    Kyma - 轻松扩展和构建Kubernetes

    我们提供了所有云原生技术的景观(l.cncf.io),但是列表非常庞大,可能会让人无法承受。 这就是Kyma会让你的生活更容易的地方。它的使命是提供一种灵活和简单的方法来扩展应用程序。...通过我们自定义的Installer和Helm chart,我们可以轻松安装和升级到Kyma的新版本。 不要重写你的单体 重写是困难的,需要花费大量的金钱,而且在大多数情况下是不需要的。...从你的单体发送的事件安全地到达Kyma事件总线(Kyma Event Bus)。...通过注册的服务代理(如Azure的OSBA),你可以从你的单体获得服务,也可以从其他第三方提供商获得服务。这是一个你需要一切的地方。...process.env.textAnalyticsEndpoint}/sentiment`, { documents: [{ id: '1', text: comment }] }, {headers:{ 'Ocp-Apim-Subscription-Key

    1K20

    从ESB替换到iPaaS的考虑及迁移策略

    一、为什么需要考虑从ESB切换到iPaaS首先,让我们看看企业在什么情况下需要考虑从ESB切换到iPaaS:性能与稳定性存在问题稳定性评估:首先,需要详细记录并分析ESB在过去一段时间内的故障率、恢复时间以及对业务的影响程度...缺乏维护力量如果公司已经没有人能够维护现有ESB,遇到Bug无法修复,新功能也无法推出,继续使用下去的风险就很大。技术积累的缺失会导致IT架构失去敏捷性。...数据的完整性和准确性是企业服务总线最重要的技术指标,若现有ESB系统无法确保数据传输的准确性和及时性应立即考虑更换。...三、从ESB迁移到iPaaS的策略如果经过全面评估,决定从ESB切换到iPaaS,从我大量的iPaaS项目经验来说可以采取以下策略:保留现有ESB在过渡期内,将原有的ESB视为旧系统,继续运行,确保业务不受影响...作为专业iPaaS厂商的RestCloud iPaaS已帮助大量企业实现了从 Oracle ESB、IBM ESB、MuleSoft、WSO2进行替换的案例和成功经验,他们都成功逐步地停止了原有ESB的运行

    69610

    vivo 万台规模 HDFS 集群升级 HDFS 3.x 实践

    本篇文章会介绍我们是如何将CDH 5.14.4 HDFS 2.6.0 滚动升级到HDP-3.1.4.0-315 HDFS 3.1.1版本,是业界为数不多的从CDH集群滚动升级到HDP集群的案例。...接下来,找出HDFS 2.6.0升级到HDFS 3.1.1引入了哪一个新特性导致namenode layoutVersion变更?...从代码判断逻辑可以看出,HDFS 2.6.0版本layoutVersion -60 小于等于minCompatLV是 -61不成立,因此,升级到HDFS 3.1.1版本后,namenode layoutVersion...基于此,我们修改了HDFS 3.1.1版本的minCompatLV为 -60,用来支持HDFS 2.6.0升级到HDFS 3.1.1版本后能够降级到HDFS 2.6.0。...七、总结 我们耗时一年时间将万台规模的离线数仓HDFS集群从CDH HDFS 2.6.0升级到了HDP HDFS 3.1.1版本,管理工具从CM成功切换到了Ambari。

    1.5K40

    蜂窝架构概述:弹性与容错的新模式

    此处重点介绍下 wso2 出品的“参考架构”系列之蜂窝架构: https://github.com/wso2/reference-architecture/blob/master/reference-architecture-cell-based.md...从敏捷企业架构的视角,该参考架构关注的关键点是: ○ 可扩展性,即通过利用可用资源和有效维持服务水平来应对不断变化的工作负载的能力。...在单元化架构下,Slack将最关键的用户服务从单体架构迁移到单元化架构,实现了服务的高可用性和容错性。...这种设置可以在不中断服务的情况下停用无法运行的单元,从而有效控制故障。向蜂窝基础设施的转变大大提高了 Roblox 的系统可靠性,使该平台能够在全球范围内提供始终在线的沉浸式体验。...通过蜂窝基础设施架构来改进大规模用户游戏体验 https://cloud.tencent.com/developer/article/2378622 5 DoorDash 面对高速增长的需求,DoorDash 从单体系统迁移到蜂窝架构

    56122
    领券