战狂粗人张

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

随笔分类 -  架构

1 2 下一页

摘要:一、前言 1、SSO说明 SSO英文全称Single Sign On,单点登录。SSO是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。 2、单点登录系统的好处 (1)用户角度 :用户能够做到一次登录多次使用,无需记录多套用户名和密码,省心。 (2)系统管理员角度 : 管理员只 阅读全文
posted @ 2022-01-25 15:04 战狂粗人张 阅读(57) 评论(0) 推荐(0) 编辑

摘要:一、背景 几年前我曾经服务过的一家电商公司,随着业务增长我们每天的订单量很快从30万单增长到了100万单,订单总量也突破了一亿。 当时用的Mysql数据库。根据监控,我们的每秒最高订单量已经达到了2000笔(不包括秒杀,秒杀TPS已经上万了)。 不过,直到此时,订单系统还是单库单表,幸好当时数据库服 阅读全文
posted @ 2022-01-04 17:00 战狂粗人张 阅读(1788) 评论(1) 推荐(1) 编辑

摘要:一、Tomcat顶层架构 Tomcat的顶层结构图,如下: Tomcat中最顶层的容器是Server,代表着整个服务器,从上图中可以看出,一个Server可以包含至少一个Service,用于具体提供服务。 Service主要包含两个部分:Connector和Container。从上图中可以看出 To 阅读全文
posted @ 2021-05-15 17:30 战狂粗人张 阅读(62) 评论(0) 推荐(0) 编辑

摘要:一、QPS QPSQueries Per Second 是每秒查询率 ,是一台服务器每秒能够相应的查询次数,是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准, 即每秒的响应请求数,也即是最大吞吐能力。 二、TPS TPS Transactions Per Second也就是事务数/秒。一 阅读全文
posted @ 2021-05-06 16:23 战狂粗人张 阅读(131) 评论(0) 推荐(0) 编辑

摘要:一.架构的分层 分层开发 分层的概念: 分层概念有不同层面的应用,通常,我们的应用从大的层面,都可以分为表现层、业务层、集成层、资源层等,这些系统构架层面的分层是在做系统构架时就做好的, 我们不需要太多考虑,但在比较细粒度的层面,我们还可以分层,主要是在代码层面分层。 代码分层的一个指导思想就是:一 阅读全文
posted @ 2020-05-29 17:38 战狂粗人张 阅读(143) 评论(0) 推荐(0) 编辑

摘要:一.Web service是什么 (1)基于Web的服务:服务器端整出一些资源让客户端应用访问(获取数据); (2)一个跨语言、跨平台的规范(抽象); (3)多个跨平台、跨语言的应用间通信整合的方案(实际); 以各个网站显示天气预报功能为例: 气象中心的管理系统将收集的天气信息并将数据暴露出来(通过 阅读全文
posted @ 2020-04-30 14:27 战狂粗人张 阅读(177) 评论(0) 推荐(0) 编辑

摘要:一.什么是SSO SSO英文全称Single Sign On,单点登录。SSO是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。 它包括可以将这次主要的登录映射到其他应用中用于同一个用户的登录的机制。它是目前比较流行的企业业务整合的解决方案之一。 二.原来的登录逻辑实现: 问题 阅读全文
posted @ 2020-04-30 11:56 战狂粗人张 阅读(120) 评论(0) 推荐(0) 编辑

摘要:一.RESTful Web Service 1、REST是什么? Web service: JAX-WS JAX-RS 2、REST 架构的主要原则 3、URI和URL 4、无状态性 5、资源操作 之前的操作: http://127.0.0.1/user/query/1 GET 根据用户id查询用户 阅读全文
posted @ 2020-04-29 16:43 战狂粗人张 阅读(206) 评论(0) 推荐(0) 编辑

摘要:一.HTTP简介 WEB浏览器与WEB服务器之间的一问一答的交互过程必须遵循一定的规则,这个规则就是HTTP协议。 HTTP是 hypertext transfer protocol(超文本传输协议)的简写,它是 TCP/IP 协议集中的一个应用层协议, 用于定义WEB浏览器与WEB服务器之间交换数 阅读全文
posted @ 2020-04-29 14:37 战狂粗人张 阅读(245) 评论(0) 推荐(0) 编辑

摘要:一.AccessKey&SecretKey (开放平台) 1、请求身份 为开发者分配AccessKey(开发者标识,确保唯一)和SecretKey(用于接口加密,确保不易被穷举,生成算法不易被猜测)。 2、防止篡改 参数签名: (1)按照请求参数名的字母升序排列非空请求参数(包含AccessKey) 阅读全文
posted @ 2020-04-28 11:14 战狂粗人张 阅读(1415) 评论(0) 推荐(0) 编辑

摘要:一.Tomcat的工作原理 Tomcat Connector三种运行模式(BIO, NIO, APR)的比较和优化。 org.apache.coyote.http11.Http11Protocol:BIO org.apache.coyote.http11.Http11NioProtocol:NIO 阅读全文
posted @ 2020-04-23 17:00 战狂粗人张 阅读(149) 评论(0) 推荐(0) 编辑

摘要:一.Java基础知识 String、Integer、Long、Enum、BigDecimal、ThreadLocal、ClassLoader、URLClassLoader、ArrayList、 LinkedList。 HashMap、LinkedHashMap、TreeMap、Councurrent 阅读全文
posted @ 2020-04-22 17:56 战狂粗人张 阅读(138) 评论(0) 推荐(0) 编辑

摘要:日志框架比较(slf4j、log4j、logback、log4j2 ) 1、日志接口(slf4j) slf4j是对所有日志框架制定的一种规范、标准、接口,并不是一个框架的具体的实现,因为接口并不能独立使用,需要和具体的日志框架实现配合使用(如log4j、logback)日志实现(log4j、logb 阅读全文
posted @ 2020-04-13 17:56 战狂粗人张 阅读(743) 评论(0) 推荐(0) 编辑

摘要:一.需求 一般业界,对订单数据的分库分表,有两类思路:按照订单号来切分、按照用户id来切分。 二.按照订单号来做 hash分散订单数据 把订单号看作是一个字符串,做 hash,分散到多个服务器去。 具体到哪个库、哪个表存储数据呢?订单号里面的数字来记录着。 如果要查询某用户的所有订单呢? 由于是根据 阅读全文
posted @ 2020-01-28 16:51 战狂粗人张 阅读(593) 评论(0) 推荐(0) 编辑

摘要:一.架构实现 总的来说我的通用架构还是以三层架构为基础进行演变的,在经典的三层架构中,最上层的是controller,中间是service,下层是dao。 在微服务的架构中,最上层是网关层,controller只是网关的一种,中间是业务层,service只是业务层的入口,最下层是基础层,dao只是基 阅读全文
posted @ 2020-01-27 23:56 战狂粗人张 阅读(280) 评论(0) 推荐(0) 编辑

摘要:一.技术选型: 网关:Nginx、Kong、Zuul 缓存:Redis、MemCached、OsCache、EhCache 搜索:ElasticSearch、Solr 熔断:Hystrix、resilience4j 负载均衡:DNS、F5、LVS、Nginx、OpenResty、HAproxy 注册 阅读全文
posted @ 2020-01-27 23:01 战狂粗人张 阅读(196) 评论(0) 推荐(0) 编辑

摘要:系统容量预估 预估步骤: (1)注册用户数-日均UV量-每日的PV量-每天的并发量; (2)峰值预估:平常量的2~3倍; (3)根据并发量(并发,事务数),存储容量计算系统容量。 客户需求:3~5年用户数达到1000万注册用户; 每秒并发数预估: (1)每天的UV为200万(二八原则); (2)每日 阅读全文
posted @ 2020-01-27 21:11 战狂粗人张 阅读(409) 评论(0) 推荐(0) 编辑

摘要:一.微服务架构特点 (1)服务服务力度:粒度是围绕业务进行拆分的。 (2)独立进程:任何一个微服务从它的开发,测试,上线,以及运维等过程都可以独立的进行,不依赖以其他的微服务。 (3)围绕业务建模:微服务架构是围绕业务建模的 (4)轻量级通信:通信模式是轻量级的,两个模块之间的通信没有语言关系,没有 阅读全文
posted @ 2020-01-27 20:20 战狂粗人张 阅读(210) 评论(0) 推荐(0) 编辑

摘要:一.微服务解耦系统 1、解耦现有模块 将现有耦合在一起的模块进行重新的设计,设计成可以独立部署的多个模块,使用微服务框架很容易做到。 比如下面是微服务实现的一个架构设计图。 2、抽取公共模块 架构设计原则之一就是反向依赖,只从上往下依赖,所以将公共的重复功能的模块抽取出来。必须强调一点的是,公共模块 阅读全文
posted @ 2020-01-27 19:36 战狂粗人张 阅读(222) 评论(0) 推荐(0) 编辑

摘要:一.微服务概念 X轴:运行多个负载均衡器之后的运行实例,是水平复制。比如讲单体系统多运行几个实例,做个集群加负载均衡的模式。 Y轴:将应用进一步分解为微服务(分库),是微服务的拆分模式,就是基于不同的业务进行拆分。 Z轴:大数据量时,将服务分区(分表),是数据分区,比如按照用户请求的地区进行数据分区 阅读全文
posted @ 2020-01-27 19:19 战狂粗人张 阅读(204) 评论(0) 推荐(0) 编辑

1 2 下一页