04 2024 档案
摘要:1、创建项目并引入安装包 首先,创建2个WebApi项目,WebApi01和WebApi02,地址分别https://localhost:44313和https://localhost:44390,其中WebApi01当作网关,WebApi02当作具体的微服务Api。 然后,将Ocelot的NuGe
阅读全文
摘要:一、项目简介 Ocelot是一个用.NET Core实现并开源的API网关,它功能强大,包括了:路由、请求聚合、服务发现、认证、鉴权、限流熔断、并内置了负载均衡器与Service Fabric、Consul集成。 1、请求转发地址配置 通过在json文件简单配置,就可以实现简易的网关,它可以接受所有
阅读全文
摘要:前言 通过上节介绍“Ocelot快速实践”后,了解了Ocelot网关,作为网关,要有很多功能才能满足要求,如访问量比较大时怎么限制呢?这节介绍限流(Rate Limiting)。 环境: VS2022 +.NET5.0 + Ocelot 17.0.0.0 一、Ocelot限流(Rate Limiti
阅读全文
摘要:引用:(23条消息) 《Javascript设计模式与开发实践》关于设计模式典型代码的整理(上):单例模式、策略模式、代理模式、迭代器模式、发布-订阅模式、命令模式、组合模式_QQsilhonette的博客-CSDN博客 1、单例模式:保证一个类仅有一个实例,并提供一个访问它的全局访问点。 使用闭包
阅读全文
摘要:1. 索引 索引是对数据库表中一列或多列的值进行排序的一种结构。 MySQL索引的建立对于MySQL的高效运行是很重要的,索引可以大大提高MySQL的检索速度。索引只是提高效率的一个因素,如果你的MySQL有大数据量的表,就需要花时间研究建立最优秀的索引,或优化查询语句。 简单类比一下,数据库如同书
阅读全文
摘要:一、发布确认逻辑 生产者将信道设置成 confirm 模式,一旦信道进入 confirm 模式,所有在该信道上面发布的消息都将会被指派一个唯一的 ID (从 1 开始),一旦消息被投递到所有匹配的队列之后,broker 就会发送一个确认给生产者 (包含消息的唯一 ID),这就使得生产者知道消息已经正
阅读全文
摘要:个人理解: 交换机的类型划分个人理解是能过routing key来划分的,一是否按routing key找队列;fanout就是不按routingkey找队列,Direct和Topicr按routingkey找队列,只是一个模糊找,一个精准找,而headers不按routingkey 是按消头中的内
阅读全文
摘要:一、缓存过期 问题产生的原由: 内存空间有限,给缓存设置过期时间,但有些键值运气比较好,每次都没有被我的随机算法选中,每次都能幸免于难,这可不行,这些长时间过期的数据一直霸占着不少的内存空间! 解决方案: redis提供8种策略供应用程序选择,用于我遇到内存不足时该如何决策: * noevictio
阅读全文
摘要:1、索引的结构 mysql索引的数据结构,对经典的B+Tree进行了优化,在原B+Tree上增加了一个指向相邻叶子结点的链表指针,就形成了一个带有顺序指针的B+Tree,提高了区间访问的性能。 选择B+Tree的优点: a、相对于二叉树,层级更少,搜索效率更高 b、相对于B-Tree,B+Tree只
阅读全文
摘要:1、主键优化 主键存储规则: 在innoDB引擎中,表数据都是根据主键顺序存放的,主键索引的叶子节点存的是这一行的行数据,非叶子节点只存索引 主键设计的原则: a、主键最好顺序生成,否则在插入数据时会产生页分分裂。 b、主键不要过长 c、不要使用身份证作主键 d、业务操作时尽量避免对主键的修改 2、
阅读全文
摘要:一、应用场景: 公司开发的业务系统常常要集成到其它的业务系统中,在其它的业务系统通过一个连接点击就可进入自己的系统,连接组成:http:192.168.18.17:8088?username=xxxxxx 当然用户名可能是加密的,需要解密,但是最后用户名都是我们系统自己的用户名. 二、功能开发: 1
阅读全文
摘要:系统用的.net core ,数据库映射工具为efcore,可以支持多数据库。 一、支持多数据库 1、扩展AbpDbContextOptions类 需要引入的类 2、服务中注入 二、批量插入 实现EFCORE批量插入接口IEfCoreBulkOperationProvider,使用杨中科的包:htt
阅读全文