架构学习
文章平均质量分 88
从计算机原理到网站架构设计以及性能调优
sufengmarket
这个作者很懒,什么都没留下…
展开
-
微服务--alpha使用
如果你的项目使用的不是spring boot 2.1.1版本,那么请参照此列表增加兼容的spring-cloud-starter-alibaba-nacos-discovery版本。如果你的项目使用的不是spring boot 2.1.1版本,那么请参照此列表增加兼容的spring-cloud-starter-zookeeper-discovery版本。实现的服务使用相当的参数,实现的服务和补偿必须满足幂等的条件,同时建议使用Spring @Transactional标注提供本地事务保证。原创 2022-12-01 20:04:50 · 858 阅读 · 1 评论 -
微服务--分布式事务
事务是由一组操作组成的一个工作单元。怎么去理解这个问题呢?我们从现实生活中去理解那么事务有哪些特性呢?事务特性原子性:事务内部的一组操作要么同时成功,要么同时失败隔离性:不同事务之间是互相不影响的一致性:事务内部一组操作,各自操作产生的结果数据,要能够保证都是预期的状态持久性:事务内部一组操作,各个操作产生的数据要能够持久的效应本地事务就是由一组sql语句操作的集合,本地事务主要就是指sql语句的操作分布式事务就是一组服务操作的集合。原创 2022-12-01 20:00:18 · 651 阅读 · 0 评论 -
微服务--配置中心
配置是用来动态修改程序执行的一种行为的机制。原创 2022-12-01 19:46:50 · 2025 阅读 · 0 评论 -
微服务--身份验证、授权
身份认证是指当客户端访问服务端资源时,验证客户端是否合法的一种机制授权就是指当客户端经过身份认证后,能够有限的访问服务端资源的一种机制。原创 2022-12-01 19:42:39 · 935 阅读 · 0 评论 -
微服务--OpenID Connect
OpenID Connect是基于OAuth 2.0规范族的可互操作的身份验证协议。它使用简单的REST / JSON消息流来实现,和之前任何一种身份认证协议相比,开发者可以轻松集成。OpenID Connect允许开发者验证跨网站和应用的用户,而无需拥有和管理密码文件。OpenID Connect允许所有类型的客户,包括基于浏览器的JavaScript和本机移动应用程序,启动登录流动和接收可验证断言对登录用户的身份。EU:End User,用户。RP:Relying Party ,用来代指。原创 2022-12-01 19:40:32 · 754 阅读 · 0 评论 -
微服务--OAuth2
有这样一种场景,一个用户(假设是QQ),希望让一个第三方的应用(比如说某个论坛),能够得到关于自身的一些信息(唯一用户标识,比如说QQ号,用户个人信息,比如说是一些基础资料,昵称和头像等)。当然,如果有其他的方式来保证用户名密码,以及认证的state参数不会泄露也是可以的。OAuth(Open Authorization,开放授权)是为用户资源的授权定义了一个安全、开放及简单的标准,第三方无需知道用户的账号及密码,就可获取到用户的授权信息。可以看到,Oauth的大致思路是一个线性的流程。原创 2022-12-01 19:38:30 · 148 阅读 · 0 评论 -
微服务--API网关
就是用来限制客户端访问服务端api一到门槛,在图例中已经进行了展示API是Application Programming Interface缩写,翻译成中文就是应用程序接口。在实际微服务中可以理解一个个功能方法。就比如你一个用户服务的微服务,可以对外提供 API 接口为,查找用户,创建用户等。网关, wiki 上定义。在计算机网络中,网关(英语:Gateway)是转发其他服务器通信数据的服务器,接收从客户端发送来的请求时,它就像自己拥有资源的源服务器一样对请求进行处理。原创 2022-12-01 19:36:22 · 194 阅读 · 0 评论 -
微服务--熔断降级
熔断就是在被调用端出现宕机,和超时两种情况出现的一种策略应对机制。熔断就好比保险丝,我们先来看一看保险丝的情况 1、服务主动降级(选择性放弃) 主动将服务进行进行异常返回 2、服务异常降级 如果服务调用出现超时或者宕机的情况,就按照自定义的策略进行返回。项目中熔断降级的目的是保证系统的弹性,使系统高可用。原创 2022-12-01 19:32:16 · 522 阅读 · 0 评论 -
微服务--webapi
默认情况下,操作支持所有可用的请求内容类型。例如,如果应用配置为同时支持 JSON 和 XML输入格式化程序,那么操作支持多种内容类型,其中包括和。使用 [Consumes]属性,操作可以限制支持的请求内容类型。将[Consumes]()在上面的代码中,操作指定内容类型。路由到此操作的请求必须指定的头。如果请求未指定的头,会生成415 不支持的媒体类型响应。使用[Consumes]属性,操作可以通过应用类型约束,根据传入请求的内容类型来影响它的选择。}()}()}()}原创 2022-12-01 19:29:35 · 266 阅读 · 0 评论 -
微服务--restful
API全称Aplication Programming Itererface即应用程序编程接口, 我们在开发应用程序时经常用到。API作为接口,用来“连接”两个不同的系统,并使其中一方为另一 方提供服务,比如在操作系统上运行的应用程序能够访问操作系统所提供的API,并通过这些API来调用操,作系统的各种功能。因此,API 是一个系统向外暴露或公开的一套接口, 通过这些接口,外部应用程序能够访问该系统。原创 2022-12-01 19:27:25 · 615 阅读 · 0 评论 -
微服务架构--注册中心
我们要搞清楚这个问题,咋们得从一个实际的场景中去学习,我们以购物场景为例来说明,在购物和场景中,总共涉及到三个角色,消费者,商店,商场。Consul是一个用来实现分布式系统的服务发现与配置的开源工具。是由go语言开发。**服务发现:**客户端通过Consul提供服务,类似于API,MySQL,或者其他客户端可以使用Consul发现服务的提供者。使用类似DNS或者HTTP,应用程序和可以很轻松的发现他们依赖的服务。原创 2022-11-04 15:56:19 · 702 阅读 · 0 评论 -
微服务架构--介绍
先看个例子:小明去找客户----------客户衣服需要营销-------衣服广告设计--------衣服广告设计审核-------衣服广告营销 衣服广告回馈客户量增大 心有余力不足合作伙伴1、客户开拓部门2、问题汇总部门3、衣服广告部门4、衣服广告设计审核部门5、衣服广告营销部门(核心)6、衣服广告回馈部门架构是什么?1、架构实际上就是指解决某一个问题的一系列的组织实践活动2、架构实际上就是指解决某一个软件问题的一系列的软件组织元素实践活动根据名词和动词拆分。原创 2022-11-04 15:34:41 · 1158 阅读 · 0 评论 -
GC垃圾回收
NET程序可以找出某个时间点上哪些已分配的内存空间没有被程序使用,并自动释放它们。自动找出并释放不再使用的内存空间机制,就称为垃圾回收机制(Garbage Collection,简称GC)。原创 2022-11-04 14:52:02 · 341 阅读 · 0 评论 -
数组、集合、链表、哈希表、跳跃链表
这样所有新增加的指针连成了一个新的链表,但它包含的节点个数只有原来的一半(上图中是7, 19, 26)。在这样一个链表中,如果我们要查找某个数据,那么需要从头开始逐个进行比较,直到找到包含数据的那个节点,或者找到第一个比给定数据大的节点为止(没找到)。也就是说,时间复杂度为O(n)。数组必须是在内存中有一段连续的内存,所以它必须预先知道长度,数组的访问方式是O(1),而链表是O(N),但是!它可以做到平均复杂度为O(LogN)的插入,删除和查找操作.同样的,Redis的作者在实现SkipList的时候.原创 2022-10-31 18:16:06 · 508 阅读 · 0 评论 -
CPU的运行与其对线程的影响
线程(英语:thread)是操作系统能够进行运算调度的最小单位.大部分情况下,它被包含在进程之中,是进程中的实际运作单位.一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务.在Unix System V及SunOS中也被称为轻量进程(lightweight processes),但轻量进程更多指内核线程(kernel thread),而把用户线程(user thread)称为线程. 线程是独立调度和分派的基本单位.线程可以为操作系统内核调度的内核线程,如Win3原创 2022-10-28 17:29:34 · 777 阅读 · 0 评论 -
网络模型与细节思维方式
网络模型是数据库模型设想为代表对象及其关系的一种灵活的方式。其独特之处在于,作为对象类型为节点和关系类型为弧的图形来看,不限于层次结构。2.性能报告:多久会崩溃,人数到达多少会崩溃,流量峰值到达多少会死,击穿条件,边界.6.异步&同步控制:不同的状态分布在不同的节点上,做不同的事情与倾向点.3.CPU Socket,指的是主板与CPU连接的那一堆东西。简单来说,网络模型一般都是指代标准的OSI7层模型。1.兼容性,包括但不限于:接口,函数,参数,返回值。由于套接字是有一定统一性的,根据接口不变原则.原创 2022-10-28 17:17:21 · 803 阅读 · 0 评论 -
CPU以及与CPU配合的存储体系
一级缓存(Level 1 Cache)简称L1 Cache,位于CPU内核的旁边,是与CPU结合最为紧密的CPU缓存,也是历史上最早出现的CPU缓存。由于一级缓存的技术难度和制造成本最高,提高容量所带来的技术难度增加和成本增加非常大,所带来的性能提升却不明显,性价比很低,而且现有的一级缓存的命中率已经很高,所以一级缓存是所有缓存中容量最小的,比二级缓存要小得多。三级缓存是为读取二级缓存后未命中的数据设计的—种缓存,在拥有三级缓存的CPU中,只有约5%的数据需要从内存中调用,这进一步提高了CPU的效率。原创 2022-10-28 17:02:56 · 1217 阅读 · 0 评论