- 博客(155)
- 资源 (1)
- 收藏
- 关注
原创 微服务--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
987
1
原创 微服务--分布式事务
事务是由一组操作组成的一个工作单元。怎么去理解这个问题呢?我们从现实生活中去理解那么事务有哪些特性呢?事务特性原子性:事务内部的一组操作要么同时成功,要么同时失败隔离性:不同事务之间是互相不影响的一致性:事务内部一组操作,各自操作产生的结果数据,要能够保证都是预期的状态持久性:事务内部一组操作,各个操作产生的数据要能够持久的效应本地事务就是由一组sql语句操作的集合,本地事务主要就是指sql语句的操作分布式事务就是一组服务操作的集合。
2022-12-01 20:00:18
674
原创 微服务--身份验证、授权
身份认证是指当客户端访问服务端资源时,验证客户端是否合法的一种机制授权就是指当客户端经过身份认证后,能够有限的访问服务端资源的一种机制。
2022-12-01 19:42:39
960
原创 微服务--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
782
原创 微服务--OAuth2
有这样一种场景,一个用户(假设是QQ),希望让一个第三方的应用(比如说某个论坛),能够得到关于自身的一些信息(唯一用户标识,比如说QQ号,用户个人信息,比如说是一些基础资料,昵称和头像等)。当然,如果有其他的方式来保证用户名密码,以及认证的state参数不会泄露也是可以的。OAuth(Open Authorization,开放授权)是为用户资源的授权定义了一个安全、开放及简单的标准,第三方无需知道用户的账号及密码,就可获取到用户的授权信息。可以看到,Oauth的大致思路是一个线性的流程。
2022-12-01 19:38:30
165
原创 微服务--API网关
就是用来限制客户端访问服务端api一到门槛,在图例中已经进行了展示API是Application Programming Interface缩写,翻译成中文就是应用程序接口。在实际微服务中可以理解一个个功能方法。就比如你一个用户服务的微服务,可以对外提供 API 接口为,查找用户,创建用户等。网关, wiki 上定义。在计算机网络中,网关(英语:Gateway)是转发其他服务器通信数据的服务器,接收从客户端发送来的请求时,它就像自己拥有资源的源服务器一样对请求进行处理。
2022-12-01 19:36:22
206
原创 微服务--熔断降级
熔断就是在被调用端出现宕机,和超时两种情况出现的一种策略应对机制。熔断就好比保险丝,我们先来看一看保险丝的情况 1、服务主动降级(选择性放弃) 主动将服务进行进行异常返回 2、服务异常降级 如果服务调用出现超时或者宕机的情况,就按照自定义的策略进行返回。项目中熔断降级的目的是保证系统的弹性,使系统高可用。
2022-12-01 19:32:16
535
原创 微服务--webapi
默认情况下,操作支持所有可用的请求内容类型。例如,如果应用配置为同时支持 JSON 和 XML输入格式化程序,那么操作支持多种内容类型,其中包括和。使用 [Consumes]属性,操作可以限制支持的请求内容类型。将[Consumes]()在上面的代码中,操作指定内容类型。路由到此操作的请求必须指定的头。如果请求未指定的头,会生成415 不支持的媒体类型响应。使用[Consumes]属性,操作可以通过应用类型约束,根据传入请求的内容类型来影响它的选择。}()}()}()}
2022-12-01 19:29:35
282
原创 微服务--restful
API全称Aplication Programming Itererface即应用程序编程接口, 我们在开发应用程序时经常用到。API作为接口,用来“连接”两个不同的系统,并使其中一方为另一 方提供服务,比如在操作系统上运行的应用程序能够访问操作系统所提供的API,并通过这些API来调用操,作系统的各种功能。因此,API 是一个系统向外暴露或公开的一套接口, 通过这些接口,外部应用程序能够访问该系统。
2022-12-01 19:27:25
635
原创 第二章 Python高级编程之linux高级命令
重定向也称为输出重定向,把在终端执行命令的结果保存到目标文件。软链接硬链接命令说明ln -s创建软链接ln创建硬链接.gz.bz2.zip.gz和.bz2的压缩包需要使用tar命令来压缩和解压缩.zip的压缩包需要使用zip命令来压缩,使用unzip命令来解压缩节省磁盘空间命令说明chmod修改文件权限字母法数字法命令说明ssh远程登录scp |远程拷贝。
2022-11-29 20:23:09
127
原创 第一章 Python高级编程之linux基础命令
操作系统直接运行在计算机上的系统软件, 它是控制硬件和支持软件运行的计算机程序它是能够虚拟出来计算机的一个软件。VmwareVirtualBox说明:只有安装了虚拟机软件才可以创建虚拟机,当然通过虚拟机软件还可以创建多个虚拟机。就是模拟一个真实的计算机,好比一个虚拟的电脑,对于快速学习一个新的操作系统就可以通过虚拟机来完成。说明:虚拟机之间是相互独立的,删除虚拟机不会对其它虚拟机产生影响,当然也不会对电脑本身生影响。
2022-11-26 11:08:48
108
原创 25-python面向对象版学员管理系统
class StudentManager(object) : def __init__(self) : # 存储数据所用的列表 self . student_list = [ ]需求:用户输入学员姓名、性别、手机号,将学员添加到系统。步骤用户输入姓名、性别、手机号创建该学员对象将该学员对象添加到列表代码。
2022-11-26 09:50:36
415
原创 23-python模块和包
语法# 模块定义别名 import 模块名 as 别名 # 功能定义别名 from 模块名 import 功能 as 别名体验# 模块别名 import time as tttt . sleep(2) print('hello') # 功能别名 from time import sleep as sl新建一个Python文件,命名为,并定义testA函数。导入模块方法import 模块名 from 模块名 import 目标 from 模块名 import *导入包。
2022-11-21 20:38:56
109
原创 22-python异常
在Python中,抛出自定义异常的语法为raise 异常类对象。需求:密码长度不足,则报异常(用户输入密码,如果输入的长度不足3位,则报错,即抛出自定义异常,并捕获该异常)。# 自定义异常类,继承Exception class ShortInputError(Exception) : def __init__(self , length , min_len) : self . length = length。
2022-11-21 20:31:29
189
原创 22-python 三大特性
面向对象三大特性封装继承多态类属性归属于类对象的属性,所有对象共有的属性实例属性类方法@classmethod def xx() : 代码静态方法@staticmethod def xx() : 代码。
2022-11-21 20:29:12
491
原创 21-python继承
在Python中,可以为实例属性和方法设置私有权限,即设置某个实例属性或实例方法不继承给子类。故事:daqiu把技术传承给徒弟的同时,不想把自己的钱(2000000个亿)继承给徒弟,这个时候就要为钱这个实例属性设置私有权限。设置私有权限的方法:在属性名和方法名 前面 加上两个下划线 __。class Master(object) : def __init__(self) : self . kongfu = '[古法煎饼果子配方]' def make_cake(self) : print(f'运用 {
2022-11-21 20:26:35
144
原创 20-python面向对象基础
Python2中类分为:经典类 和 新式类语法class 类名() : 代码 . . . . . .注意:类名要满足标识符命名规则,同时遵循大驼峰命名习惯。体验class Washer() : def wash(self) : print('我会洗衣服')拓展:经典类不由任意内置类型派生出的类,称之为经典类class 类名 : 代码 . . . . . .地瓜的属性被烤的时间地瓜的状态添加的调料地瓜的方法被烤用户根据意愿设定每次烤地瓜的时间。
2022-11-21 20:23:45
197
原创 19-python文件操作
文件操作步骤打开文件对象 = open(目标文件 , 访问模式)操作读文件对象 . read() 文件对象 . readlines() 文件对象 . readline()写文件对象 . write()seek()关闭文件对象 . close()主访问模式w:写,文件不存在则新建该文件r:读,文件不存在则报错a:追加文件和文件夹操作重命名:os.rename()获取当前目录:os.getcwd()获取目录列表:os.listdir()
2022-11-21 19:53:45
137
原创 18-python实现控制台学员管理系统
1、添加学员2、删除学员3、修改学员信息4、查询学员信息5、显示所有学员信息6、退出系统系统共6个功能,用户根据自己需求选取。所有功能函数都是操作学员信息,所有存储所有学员信息应该是一个全局变量,数据类型为列表。info = [ ]递归函数内部自己调用自己必须有出口lambda语法lambda 参数列表 : 表达式lambda的参数形式无参数lambda : 表达式一个参数lambda 参数 : 表达式默认参数lambda key = value : 表达式。
2022-11-21 19:49:09
932
原创 17-python函数进阶
变量作用域全局:函数体内外都能生效局部:当前函数体内部生效函数多返回值写法return 表达式 1 , 表达式 2. . .函数的参数位置参数形参和实参的个数和书写顺序必须一致关键字参数写法:key=value特点:形参和实参的书写顺序可以不一致;关键字参数必须书写在位置参数的后面缺省参数缺省参数就是默认参数key=vlaue不定长位置参数收集所有位置参数,返回一个元组不定长关键字参数收集所有关键字参数,返回一个字典。
2022-11-21 19:46:03
74
原创 16-python函数入门
def 函数名(参数) : 代码 1 代码 2 . . . . . .函数的作用:封装代码,高效的代码重用函数使用步骤定义函数def 函数名() : 代码 1 代码 2 . . .调用函数函数名()函数的参数:函数调用的时候可以传入真实数据,增大函数的使用的灵活性形参:函数定义时书写的参数(非真实数据)实参:函数调用时书写的参数(真实数据)函数的返回值作用:函数调用后,返回需要的计算结果写法return 表达式函数的说明文档作用:保存函数解释说明的信息写法。
2022-11-19 10:13:20
81
原创 15-python推导式
推导式的作用:简化代码推导式写法# 列表推导式 [ xx for xx in range() ] # 字典推导式 {xx1 : xx2 for . . . in . . . } # 集合推导式 {
2022-11-19 10:06:20
370
原创 十三章 Python入门系列之集合
创建集合有数据集合s1 = {数据 1 , 数据 2 , . . . }无数据集合s1 = set()常见操作增加数据add()update()删除数据remove()discard()
2022-11-14 22:12:21
75
原创 十二章 Python入门系列之字典
定义字典dict1 = {常见操作增/改字典序列 [ key ] = 值查找字典序列[key]keys()values()items()
2022-11-14 20:08:09
110
原创 十一章 Python入门系列之元组
元组特点:定义元组使用小括号,且逗号隔开各个数据,数据可以是不同的数据类型。# 多个数据元组 t1 =(10 , 20 , 30) # 单个数据元组 t2 =(10 ,)注意:如果定义的元组只有一个数据,那么这个数据后面也好添加逗号,否则数据类型为唯一的这个数据的数据类型定义元组常用操作方法index()len()
2022-11-14 18:32:08
148
原创 第十章 Python入门系列之列表
列表的格式[ 数据 1 , 数据 2 , 数据 3 ]常用操作方法index()len()append()pop()remove()列表嵌套name_list = [ [ '小明' , '小红' , '小绿' ] , [ 'Tom' , 'Lily' , 'Rose' ] , [ '张三' , '李四' , '王五' ] ] name_list [ 2 ] [ 1 ]
2022-11-10 22:41:15
84
原创 第九章 Python入门系列之字符串处理
下标计算机为数据序列中每个元素分配的从0开始的编号切片序列名 [ 开始位置下标 : 结束位置下标 : 步长 ]常用操作方法find()index()
2022-11-10 18:29:11
711
原创 第八章 Python入门系列之循环
思考:假如我有个女朋友,有一天我们闹矛盾生气了,女朋友说:道歉,说100遍“媳妇儿,我错了”。这个时候程序员会怎么做?答:100遍print('媳妇儿,我错了')思考:复制粘贴100次吗?答:重复执行100次一样的代码,程序中循环即可循环的作用:让代码更高效的重复执行。循环的作用:控制代码重复执行while语法while 条件 : 条件成立重复执行的代码 1 条件成立重复执行的代码 2 . . . . . .while循环嵌套语法。
2022-11-10 16:31:47
382
原创 第七章 Python入门系列之条件语句
if语句语法if 条件 : 条件成立执行的代码if…else…if 条件 : 条件成立执行的代码 else : 条件不成立执行的代码多重判断if 条件 1 : 条件 1 成立执行的代码 elif 条件 2 : 条件 2 成立执行的代码 else : 以上条件都不成立执行的代码if嵌套if 条件 1 : 条件 1 成立执行的代码 if 条件 2 : 条件 2 成立执行的代码 . . . .
2022-11-10 16:20:07
282
原创 第六章 Python入门系列之数据类型转换和运算符
转换数据类型常用的函数int()float()str()list()tuple()eval()算数运算的优先级()高于**高于*///%高于+-赋值运算符=复合赋值运算符+=-=优先级先算复合赋值运算符右侧的表达式再算复合赋值运算的算数运算最后算赋值运算比较运算符判断相等: ==大于等于: >=小于等于:
2022-11-10 16:18:18
192
原创 第五章 Python入门系列之输出和输入
格式化符号%s:格式化输出字符串%d:格式化输出整数%f:格式化输出浮点数f-字符串f’{表达式}’转义字符\n:换行\t:制表符print结束符print('内容' , end = "")
2022-11-10 11:50:07
195
原创 第四章 Python入门系列之变量
变量名 = 值变量名自定义,要满足标识符命名规则。定义变量的语法变量名 = 值标识符由数字、字母、下划线组成不能数字开头不能使用内置关键字严格区分大小写数据类型整型:int浮点型:float字符串:str布尔型:bool元组:tuple集合:set字典:dict。
2022-11-10 11:39:19
82
原创 第三章 Python入门系列之注释
注释的作用用人类熟悉的语言对代码进行解释说明,方便后期维护。注释的分类单行:# 注释内容,快捷键ctrl+/""" 注释内容 """或''' 注释内容 '''解释器不执行注释内容。
2022-11-10 11:33:08
153
原创 第二章 Python入门系列之PyCharm
PyCharm新建文件项目管理空白位置 — 右键 – New – PythonFile运行文件代码内部 — 右键 – Run修改代码文字格式。
2022-11-09 14:44:17
332
原创 第一章 Python入门系列之介绍
Python是时下最流行、最火爆的编程语言之一,具体原因如下:简单、易学,适应人群广泛免费、开源应用领域广泛备注:以下知名框架均是Python语言开发。Google开源机器学习框架:TensorFlow开源社区主推学习框架:Scikit-learn百度开源深度学习框架:PaddlePython发展历史:https://baike.baidu.com/item/Python/407313?fr=aladdinPython优点:学习成本低开源适应人群广泛应用领域广泛。
2022-11-08 16:10:02
102
原创 微服务架构--注册中心
我们要搞清楚这个问题,咋们得从一个实际的场景中去学习,我们以购物场景为例来说明,在购物和场景中,总共涉及到三个角色,消费者,商店,商场。Consul是一个用来实现分布式系统的服务发现与配置的开源工具。是由go语言开发。**服务发现:**客户端通过Consul提供服务,类似于API,MySQL,或者其他客户端可以使用Consul发现服务的提供者。使用类似DNS或者HTTP,应用程序和可以很轻松的发现他们依赖的服务。
2022-11-04 15:56:19
716
原创 微服务架构--介绍
先看个例子:小明去找客户----------客户衣服需要营销-------衣服广告设计--------衣服广告设计审核-------衣服广告营销 衣服广告回馈客户量增大 心有余力不足合作伙伴1、客户开拓部门2、问题汇总部门3、衣服广告部门4、衣服广告设计审核部门5、衣服广告营销部门(核心)6、衣服广告回馈部门架构是什么?1、架构实际上就是指解决某一个问题的一系列的组织实践活动2、架构实际上就是指解决某一个软件问题的一系列的软件组织元素实践活动根据名词和动词拆分。
2022-11-04 15:34:41
1175
原创 GC垃圾回收
NET程序可以找出某个时间点上哪些已分配的内存空间没有被程序使用,并自动释放它们。自动找出并释放不再使用的内存空间机制,就称为垃圾回收机制(Garbage Collection,简称GC)。
2022-11-04 14:52:02
347
Himall商城3.0版本,完美运行
2020-03-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人