随笔分类 - [20]DesignAnalysis设计分析
-
单点登录原理
摘要:单点登录原理与简单实现 一、单系统登录机制 1、http无状态协议 web应用采用browser/server架构,http作为通信协议。http是无状态协议,浏览器的每一次请求,服务器会独立处理,不与之前或之后的请求产生关联,这个过程用下图说明,三次请求/响应对之间没有任何联系 但这也同时意味着, 阅读全文
-
实现微服务
摘要:变通实现微服务的per request以提高IO效率 效率 同一次业务操作过程中,往往会出现某种操作被重复执行,逻辑上来讲如果只执行一次是最理想的。这里所指的操作特指一些IO操作,比如从数据库中获取登录人的信息,也就是说如果一次请求中包含5个小逻辑,这5个小逻辑包含3次获取用户信息的操作,理想的情况 阅读全文
-
可跨域的单点登录(SSO)实现方案
摘要:可跨域的单点登录(SSO)实现方案 SSO简介 定义: 传统的单站点登录访问授权机制是:登录成功后将用户信息保存在session中,sessionId保存在cookie中,每次访问需要登录访问的资源(url)时判断当前session是否为空,为空的话跳转到登录界面登录,不为空的话允许访问。 单点登录 阅读全文
-
ANTS Performance Profiler和ANTS Memory Profiler
摘要:使用ANTS Performance Profiler&ANTS Memory Profiler工具分析IIS进程内存和CPU占用过高问题 一、前言 最近一段时间,网站经常出现两个问题: 1.内存占用率一点点增高,直到将服务器内存占满。 2.访问某个页面时,页面响应过慢,CPU居高不下。 初步判断内 阅读全文
-
水平分库分表
摘要:水平分库分表 在之前的文章中,我介绍了分库分表的几种表现形式和玩法,也重点介绍了垂直分库所带来的问题和解决方法。本篇中,我们将继续聊聊水平分库分表的一些技巧。 分片技术的由来 关系型数据库本身比较容易成为系统性能瓶颈,单机存储容量、连接数、处理能力等都很有限,数据库本身的“有状态性”导致了它并不像W 阅读全文
-
获取数据库增量数据的几种方式
摘要:获取数据库增量数据的几种方式 a.触发器:在要抽取的表上建立需要的触发器,一般要建立插入、修改、删除三个触发器,每当源表中的数据发生变化,就被相应的触发器将变化的数据写入一个临时表,抽取线程从临时表中抽取数据,临时表中抽取过的数据被标记或删除。触发器方式的优点是数据抽取的性能较高,缺点是要求业务表建 阅读全文
-
分库分表
摘要:分库分表 在谈论数据库架构和数据库优化的时候,我们经常会听到“分库分表”、“分片”、“Sharding”…这样的关键词。让人感到高兴的是,这些朋友所服务的公司业务量正在(或者即将面临)高速增长,技术方面也面临着一些挑战。让人感到担忧的是,他们系统真的就需要“分库分表”了吗?“分库分表”有那么容易实践 阅读全文
-
把商品卖给用户
摘要:如何一步一步用DDD设计一个电商网站(四)—— 把商品卖给用户 阅读目录 前言 怎么卖 领域服务的使用 回到现实 结语 一、前言 上篇中我们讲述了“把商品卖给用户”中的商品和用户的初步设计。现在把剩余的“卖”这个动作给做了。这里提醒一下,正常情况下,我们的每一步业务设计都需要和领域专家进行沟通,尽可 阅读全文
-
DIP原则、IoC以及DI
摘要:DIP原则、IoC以及DI 一、DIP原则 高层模块不应该依赖于底层模块,二者都应该依赖于抽象。 抽象不应该依赖于细节,细节应该依赖于抽象。 该原则理解起来稍微有点抽象,我们可以将该原则通俗的理解为:"依赖于抽象”。 该规则告诉我们,程序中所有的依赖关系都应该终止于抽象类或者接口,从而达到松耦合的目 阅读全文
-
net分布式系统架构
摘要:net分布式系统架构的思路 最近看到有部分招聘信息,要求应聘者说一下分布式系统架构的思路。今天早晨正好有些时间,我也把我们实际在.net方面网站架构的演化路线整理一下,只是我自己的一些想法,欢迎大家批评指正。 首先说明的是.net下开源内容较少,并且也不是做并行数据库等基础服务,因此在这里什么Had 阅读全文
-
Restful api
摘要:Restful api介绍 网络应用程序,分为前端和后端两个部分。当前的发展趋势,就是前端设备层出不穷(手机、平板、桌面电脑、其他专用设备......)。 因此,必须有一种统一的机制,方便不同的前端设备与后端进行通信。这导致API构架的流行,甚至出现"API First"的设计思想。RESTful 阅读全文
-
发布订阅
摘要:"发布订阅" 三、”发布订阅” 上一节的练习中我们创建了一个工作队列。队列中的每条消息都会被发送至一个工作进程。这节,我们将做些完全不同的事情——我们将发送单个消息发送至多个消费者。这种模式就是广为人知的“发布订阅”模式。 为了说明这种模式,我们将构建一个简单的日志系统。包括2个应用程序,一个传送日 阅读全文
-
谈谈 Repository、IUnitOfWork 和 IDbContext 的实践
摘要:谈谈 Repository、IUnitOfWork 和 IDbContext 的实践 上一篇:《DDD 领域驱动设计-谈谈 Repository、IUnitOfWork 和 IDbContext 的实践(2)》 这篇文章主要是对 DDD.Sample 框架增加 Transaction 事务操作,以及 阅读全文
-
自定义搜索引擎
摘要:Google自定义搜索引擎 本文主要介绍如何通过Google的API来定义自己的搜索引擎,并将Google搜索框嵌入到自己的web页面。另外,分析了自定义搜索引擎请求数据的url,模拟请求并获取搜索的结果。 1 写在前面 前段时间发现了一个网站提供搜索百度网盘资源,挺好用的,但是广告很多,于是自己做 阅读全文
-
API网关
摘要:API网关 最开始只是想找个API网关防止API被恶意请求,找了一圈发现基于Nginx的OpenResty(Lua语言)扩展模块Orange挺好(也找了Kong,但是感觉复杂了点没用),还偷懒用Vagrant结合Docker来快速搭建环境,基于别人的Dockerfile把整个实验跑通了,觉得还不错。 阅读全文
-
集群
摘要:web服务器集群 概述 集群和分布式都是从集中式进化而来的。分布式和集群会相互合作的,同时的集群和分布式。在这里重点说说集群 集群是什么? 集群能提高单位时间内处理的任务数量,提升服务器性能有多台服务器去处理任务,但是每个任务都是由一台服务器独立完成的 分布式是什么? 分布式能缩短单个任务处理的时间 阅读全文
-
Serverless 架构:用服务代替服务器
摘要:Serverless 架构:用服务代替服务器 转载本文需注明出处:EAII企业架构创新研究院(微信号:eaworld),违者必究。如需 加入微信群参与微课堂、架构设计与讨论直播请直接回复此公众号:“加群 姓名 公司 职位 微信号 ”。 还记得在十多年前,SaaS鼻祖SalesForce喊出的口号『N 阅读全文
-
初涉核心域
摘要:初涉核心域 一、前言 结合我们本次系列的第一篇博文中提到的上下文映射图(传送门:如何一步一步用DDD设计一个电商网站(一)—— 先理解核心概念),得知我们这个电商网站的核心域就是销售子域。因为电子商务是以信息网络技术为手段,以商品交换为中心的商务活动,一个好的核心域设计可以大大提升企业的竞争力和对市 阅读全文
-
认证架构
摘要:基于token的多平台身份认证架构设计 基于token的多平台身份认证架构设计 1 概述 在存在账号体系的信息系统中,对身份的鉴定是非常重要的事情。 随着移动互联网时代到来,客户端的类型越来越多, 逐渐出现了 一个服务器,N个客户端的格局 。 不同的客户端产生了不同的用户使用场景,这些场景: 有不同 阅读全文
-
服务框架
摘要:Net下几个服务框架介绍 简介 在公司的服务多了以后,为了调用上的方便,同时为了以后的服务治理,一般都会使用一些服务框架,这里主要介绍我知道的几个服务框架,简析一下这些服务框架的基本概念。 可投入生产环境使用的 以下两个服务框架,我已经见过有公司投入到生产环境,所以对于稳定性,应该不需要有太大的担心 阅读全文