OpenResty,最擅长的应用场景之一就是 API Server。如果我们只有简单的几个 API 出口、入口,那么我们可以相对随意简单一些。 举例几个简单API接口输出: server { listen 80; server_name localhost; location /app/set { content_by_lua_block {
一、概述 二、创建型 1. 单例(Singleton) 2. 简单工厂(Simple Factory) 3. 工厂方法(Factory Method) 4. 抽象工厂(Abstract Factory) 5. 生成器(Builder) 6. 原型模式(Prototype) 三、行为型 1. 责任链(Chain Of Responsibility) 2. 命令(Command) 3. 解释器(Int
架构设计 整个功能架构如下图所示。 包括三大组件:区块链服务(Blockchain)、链码服务(Chaincode)、成员权限管理(Membership)。 概念术语 Auditability(审计性):在一定权限和许可下,可以对链上的交易进行审计和检查。 Block(区块):代表一批得到确认的交易信息的整体,准备被共识加入到区块链中。 Blockchain(区块链):由多个区块链接而成的链表结构
协议设计 核心概念 EVM:以太坊虚拟机,轻量级虚拟机环境,是以太坊中智能合约的运行环境。 Account:账户,分两类:合约账户存储执行的合约代码;外部账户为以太币拥有者账户,对应到某公钥。 Transaction:交易,从一个账户到另一个账户的消息,包括以太币或者合约执行参数。 Gas:燃料,每执行一条合约指令会消耗一定的燃料,当某个交易还未执行结束,而燃料消耗完时,合约执行终止并回滚状态。
介绍 Vant 是基于有赞 Zan Design System 视觉规范实现的组件库,在这里可以下载 Vant 的设计资源。 设计稿 组件设计稿(Sketch) 包含 Sketch 格式的色彩规范、字体规范、组件设计规范。 色彩规范 字体规范 组件规范 下载 图标设计稿(Sketch) 包含 Sketch 格式的图标库资源。 下载 Axure 元件库 Axure 元件库,由社区的 @axure-t
模板设计:
设计模式(Design pattern)代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用。设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的。 本教程将通过 Java 实例,一步一步向您讲解设计模式的概念。 现在开始学习设计模式! 谁适合阅读本教程? 无论您是新手,还是老手,本教程都值得一读。对于那些
模型设计 监控模型 CAT主要支持以下四种监控模型: Transaction 适合记录跨越系统边界的程序访问行为,比如远程调用,数据库调用,也适合执行时间较长的业务逻辑监控,Transaction用来记录一段代码的执行时间和次数 Event 用来记录一件事发生的次数,比如记录系统异常,它和transaction相比缺少了时间的统计,开销比transaction要小 Heartbeat 表示程序内定
整体设计 在整个CAT从开发至今,一直秉承着简单的架构就是最好的架构原则,整个CAT主要分为三个模块,cat-client,cat-consumer,cat-home。 cat-client 提供给业务以及中间层埋点的底层sdk。 cat-consumer 用于实时分析从客户端的提供的数据。 cat-home 作为用户提供给用户的展示的控制端。 在实际开发和部署中,cat-consumer和cat
1.1 设计初衷 大众点评最开始采用F5做七层负载。随着网站规模的增大,F5成为了网络的瓶颈,主要原因有以下两点: 负载规则涉及到很多路径的正则匹配,这要求F5做很多的正则计算。这大大增加了F5的CPU负载。 F5需要对业务服务集群进行心跳检测。随着业务服务规模增大,F5需要对近千台服务器进行心跳检测。F5很难维持这个量级的心跳信息。 为此,我们决定使用软件工程的银弹-在架构上,增加新的层级。从而
适用场景 最终一致 单向同步 实现依据 MQ消息顺序消费 MQ消息组内消息最多被消费一次 仅支持DML,DDL、DCL手工执行 表必须有主键、最后更新时间 系统架构 Node节点内存模型 TaskController 1---* TaskWorker TaskWorker 1---* TaskWork TaskWork 1---1 *Job 通俗上讲TaskController对应Node进程,进
YDoc 项目设计规范 YDoc 的设计稿经过设计师的几度推敲重做,诞生了现在你看到的默认主题,YDoc 有如下设计理念: 青春:使用大胆、活泼的配色方案,体现 YMFE 团队 的产品文化 科学:以科学的态度对待视觉设计、功能设计,让设计有迹可循 简洁:以 无形 代替 有形,从 UI 到开发体验,不断去除冗余的设计,使用户专注于写作与阅读 以下是 YDoc 设计过程中总结的一些规则,这些可以帮助你
设计思路 实行一个进程调度策略,到底需要实现哪些基本功能对应的数据结构?首先考虑到一个无论哪种调度算法都需要选择一个就绪进程来占用CPU运行。为此我们可把就绪进程组织起来,可用队列(双向链表)、二叉树、红黑树、数组…等不同的组织方式。 在操作方面,如果需要选择一个就绪进程,就可以从基于某种组织方式的就绪进程集合中选择出一个进程执行。需要注意,这里“选择”和“出”是两个操作,选择是在集合中挑选一个“
设计模式是对软件设计中普遍存在(反复出现)的各种问题,所提出的解决方案。 设计模式并不直接用来完成代码的编写,而是描述在各种不同情况下,要怎么解决问题的一种方案。面向对象设计模式通常以类或对象来描述其中的关系和相互作用,但不涉及用来完成应用程序的特定类或对象。设计模式能使不稳定依赖于相对稳定、具体依赖于相对抽象,避免会引起麻烦的紧耦合,以增强软件设计面对并适应变化的能力。 目录 创建型 构造函数
在了解了项目基本的结构划分以后,我们将要开始设计 model,在设计 model 之前,我们来回顾一下我们需要做的项目是什么样的: Model 的抽象 从设计稿中我们可以看出,这部分功能基本是围绕 以用户数据为基础 的操作,其中包含: 用户信息的展示(查询) 用户信息的操作(增加,删除,修改) 有经验的同学不难发现,无论是多复杂的项目也基本上是围绕着数据的展示和操作,复杂一点的无非是组合了很多数据