还在一行一行地手撸查询代码吗?有没有想过全自动的,通用的,免写代码的动态查询?上一篇简略讲了如何根据前面设计的查询描述器构造出可执行的表达式的原理,本篇来讲讲如何用C#代码实现俄罗斯套娃般的多层嵌套查询Expression Lambda表达式的动态自动构建。 ...
还在手撸查询代码吗?有没有想过全自动的,通用的,免写代码的动态查询?上一篇简略讲了如何把查询条件用代码描述出来,本篇接继来讲讲,如何根据前面设计好查询描述器构造出可执行的表达式。 ...
如果你有 *n* 个缓存服务器,一个常见的负载均衡方式是使用以下的哈希方法: *服务器索引 = 哈希(键) % N*,其中 *N* 是服务器池的大小。 让我们通过一个例子来说明这是如何工作的。如表5-1所示,我们有4台服务器和8个字符串键及其哈希值。 ![image-2023052022160981 ...
基于Expression Lambda表达式树的通用复杂动态查询构建器。在上一篇中构思了把查询子句描述出来的数据结构,那么能否用代码将其表达出来,如何表达呢?本篇来讲讲查询描述器的构思。 ...
### GC 优化 #### 1.防止大对象Buffer到内存中 **现象**:当大包请求时,YGC 耗时严重 **原因**:默认情况下 Zuul2 并不会缓存请求体(DirectByteBuffer),也就意味着它会先发送接收到的请求 Headers 到后端服务,之后接收到请求体再继续发送到后端服 ...
一、什么是微服务 微服务是一种技术架构,通常我们可以把它理解为一组可以相互之间协同工作的应用程序或服务,这些应用程序或服务能够被单独部署到不同的服务器中,并且能够自主运行和维护。 微服务技术只是一个名称而已,或许我们在日常工作中已经或多或少在使用其中的一种或几种技术和架构,但我们并没有将其称之为微服 ...
汽车之家电商系统诞生在2014年,成长于2016~2019年,并经历多年双11、818晚会的洪峰考验,沉淀了稳定可靠、性能卓越的在线交易能力。随着业务中台的建设浪潮兴起,2019年进入中台化建设阶段,输出其在汽车电商领域五年沉淀的能力,助力汽车电商行业发展,加速企业数字化转型! ...
# Redis内存兜底策略——内存淘汰及回收机制 Redis内存淘汰及回收策略都是Redis**内存优化兜底**的策略,那它们是如何进行**兜底**的呢?先来说明一下什么是内存淘汰和内存回收策略: - Redis内存淘汰:当Redis的内存使用**超过配置**的限制时,根据一定的策略删除一些键,以* ...
## 一、模式动机 >观察者模式用于描述对象之间的依赖关系,它引入了观察者和观察目标两类不同的角色,由于提供了抽象层,它使得增加新的观察者和观察目标都很方便。观察者模式广泛应用于各种编程语言的事件处理模型中,Java语言也提供了对观察者模式的全面支持。 - 一个对象的状态或行为的变化将导致其他对象的 ...
## 一、模式动机 迭代器模式(Iterator Pattern)是一种使用频率非常高的行为型设计模式,**迭代器**用于**对一个聚合对象进行遍历**。通过**引入迭代器**可以**将数据的遍历功能从聚合对象中分离出来**,**聚合对象只负责存储数据**,而**遍历数据由迭代器来完成**,简化了聚 ...
之前总聊微服务,今天换一个话题---低代码。低代码这个词也是最近这几年很火的概念,尤其是遇到大环境下行,很多大厂和互联网那个公司也在慢慢在低代码方向发力,当然,对于传统项目交付型的软件公司,低代码也具有相当大的吸引力。 ...
不同团队落地DDD所采取的应用架构风格可能不同,并没有统一的、标准的DDD工程架构。即使无法制定通用的、标准的工程应用架构,但为团队制定一个遵循领域驱动设计思想的参考架构依然有价值。 ...
一.业务描述 最近在负责公司一个语音的微服务模块优化,这个模块主要的业务是:1.天猫精灵、小度、若琪、小京鱼、小爱同学、思必驰这些第三方音响对我们的用户进行oauth2/JWT授权; 2.这些第三方音响服务调用我们的设备发现接口对公司的设备信息在第三方平台进行一个存储;3.第三方平台对用户发出的语音 ...
asp.net core webapi 下面,想做一个过滤权限的Filter,配合token,对api做一个较为细粒度的权限控制, 该filter (PermissionFilter) 的作用是用户LoginUser.Permissions 列表中有 Key指定的权限才可以访问,没有则返回403 错 ...
缓存的四种更新策略,Cache Aside、Read/Write Through 、Write Behind Caching、Refresh-Ahead,本文将介绍这四种策略及如何选择正确的策略 ...
关于JWT,可以说是分布式系统下的一个利器,我在我的很多项目实践中,认证系统的第一选择都是JWT。它的优势会让你欲罢不能,就像你领优惠券一样。 ...
强大的MongoBson库 后端开发,统计了一下大概有这些场景需要用到序列化: 对象通过序列化反序列化clone 服务端数据库存储数据,二进制 分布式服务端,多进程间的消息,二进制 后端日志,文本格式 服务端的各种配置文件,文本格式 C#序列化库有非常非常多了,protobuf,json等等。但是这 ...
DDD整洁架构 DDD整洁架构为了解决强调用的关系,出现了洋葱架构(六边形)架构,就是为了实现依赖倒置 它的思想就是把领域模型放到核心的位置,领域模型是独立的,不会直接强依赖其他层,而通过适配器来完成领域模型和外层的数据交换。 DDD分层架构和三层架构的区别与关系 DD分层架构和三层架构的区别与关系 ...
性能优化是个系统性工程,宏观上可分为网络,服务,存储几个方向,每个方向又可以细分为架构,设计,代码,可用性,度量等多个子项。 本文将重点从代码和设计两个子项展开,谈谈那些提升性能的知识点。 ...
大家好,今天我们来分享业务架构,但是我们并不是以产品经理角度讲述一个业务架构是什么以及如何做?而是以一个技术架构师的角度,讲述如何承接业务架构或在没有业务架构的时候,如何判断业务变化趋势而对系统架构提前做出反应。 ...