
分布式
文章平均质量分 93
分布式
yangyanping20108
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
SSO单点登录
单点登录(SingleSignOn,SSO),就是通过用户的一次性鉴别登录。当用户在身份认证服务器上登录一次以后,即可获得访问单点登录系统中其他关联系统和应用软件的权限,同时这种实现是不需要管理员对用户的登录状态或其他信息进行修改的,这意味着在多个应用系统中,用户只需一次登录就可以访问所有相互信任的应用系统。这种方式减少了由登录产生的时间消耗,辅助了用户管理,是比较流行的。原创 2023-12-25 14:55:25 · 553 阅读 · 0 评论 -
JAVA序列化--Protobuf
Protocol Buffers(简称protobuf)是一种轻便高效的数据序列化格式,可用于结构化数据的序列化和反序列化。它由Google开发并开源,用于解决数据交换和存储的通用问题。原创 2023-12-20 18:18:01 · 2053 阅读 · 0 评论 -
扩展点设计
在平时业务开中经常会遇到不同业务走不同的业务逻辑,为了代码的扩展性,不得不采取一些手段来对其进行解耦,代码扩展点实现方式主要包括 Java SPI、dubbo SPI、策略模式及改进扩展点实现、Cola扩展点和抽象业务扩展点实现方式,这里我们介绍下Cola的实现方式。原创 2023-12-13 11:51:41 · 2422 阅读 · 0 评论 -
Java Agent探针技术
Java Agent探针,JVM 一旦跑起来,对于外界来说,它就是一个黑盒。而 Java Agent 可以像一支针一样插到 JVM 内部,探到我们想要的东西,并且可以注入东西进去。原创 2023-11-22 20:36:25 · 2593 阅读 · 0 评论 -
埋点数据设计
简单来说,埋点就是在网站或APP中加入一些程序代码,用以收集和统计用户在该网站/APP中的浏览、访问数据和应用使用情况,分析用户交互行为,从而帮助产品和运营进行后续优化。原创 2023-11-16 21:25:53 · 904 阅读 · 0 评论 -
CDN:静态资源如何加速?
简单地说,内容分发网络是一个经策略性部署的整体系统,包括分布式存储、负载均衡、网络请求的重定向和内容管理4个要求,而内容管理和全局的网络流量管理是CDN的核心所在。通过用户就近性和服务器负载的判断,CDN确保内容以一种极为高效的方式为用户的请求提供服务。原创 2023-10-31 11:11:48 · 353 阅读 · 0 评论 -
应用性能管理:用户的使用体验应该如何监控?
应用性能管理(Application Performance Management,简称APM),它的含义是:对应用各个层面做全方位的监测,期望及时发现可能存在的问题,并加以解决,从而提升系统的性能和可用性。原创 2023-10-30 09:37:42 · 417 阅读 · 0 评论 -
流量控制:高并发系统中我们如何操纵流量?
随着现在微服务、分布式系统的发展,各个服务之间的相互调用越来越复杂。为了保证自身服务的稳定性与高可用,当面对超过自身服务能力的请求调用时,要做一定的限流措施。原创 2023-10-27 21:18:16 · 352 阅读 · 0 评论 -
降级熔断:如何屏蔽非核心系统故障的影响?
限流、熔断和降级都是系统容错的重要设计模式原创 2023-10-27 16:48:07 · 236 阅读 · 0 评论 -
服务端监控要怎么做?
在一个项目的生命周期里,运行维护占据着很大的比重,在重要性上,它几乎与项目研发并驾齐驱。而在系统运维过程中,能够及时地发现问题并解决问题,是每一个团队的本职工作。所以,你的垂直电商系统在搭建之初,运维团队肯定完成了对于机器 CPU、内存、磁盘、网络等基础监控,期望能在出现问题时,及时地发现并且处理。你原创 2023-10-20 09:46:13 · 563 阅读 · 0 评论 -
分布式Trace:横跨几十个分布式组件的慢请求要如何排查?
在分布式链路跟踪中有两个重要的概念:跟踪(trace)和 跨度( span)。trace 是请求在分布式系统中的整个链路视图,span 则代表整个链路中不同服务内部的视图,span 组合在一起就是整个 trace 的视图。原创 2023-10-18 20:26:49 · 780 阅读 · 0 评论 -
API网关:系统的门面要如何做呢?
API网关作用就是把各个服务对外提供的API汇聚起来,让外界看起来是一个统一的接口,同时也可以在网关中提供额外的功能。原创 2023-10-16 18:44:01 · 325 阅读 · 0 评论 -
多机房部署:跨地域的分布式系统如何做?
在不同的 IDC 机房中,部署多套服务,这些服务共享同一份业务数据,并且都可以承接来自用户的流量。这样,当其中某一个机房出现网络故障、火灾,甚至整个城市发生地震、洪水等大的不可抗的灾难时,你可以随时将用户的流量切换到其它地域的机房中,从而保证系统可以不间断地持续运行。这种架构听起来非常美好,但是在实现上却是非常复杂和困难的,那么它复杂在哪儿呢?原创 2023-10-16 11:00:10 · 1751 阅读 · 2 评论 -
广告归因转化系统设计
归因(Attribution)是指采用标识符来识别用户的转化路径,并判断其中的有效触点价值。广告平台基于归因结果,进行付费;广告主则可用于投放策略的优化。原创 2023-10-08 17:49:00 · 2000 阅读 · 0 评论 -
tomcat配置优化
Tomcat 默认配置的最大请求数是150,也就是说同时支持150 个并发,当然了,也可以将其改大。当某个应用拥有250 个以上并发的时候,应考虑应用服务器的集群。具体能承载多少并发,需要看硬件的配置,CPU 越多性能越高,分配给JVM 的内存越多性能也就越高,但也会加重GC 的负担。原创 2023-10-08 09:47:27 · 361 阅读 · 0 评论 -
JSON Schema动态表单配置规则应用
用 JSON Schema 来描述表单适合于低代码或者数据中台的快速开发。前端不需要维护 schema,schema 可以存在后端,随意分发动态渲染。原创 2023-08-24 21:51:18 · 3444 阅读 · 0 评论 -
领域驱动设计-领域层
但DDD中的实体和我们以往开发中定义的实体是同一个概念吗?不完全是。在以往未实施DDD的项目中,我们习惯于将关注点放在数据上,而非领域上。这也就说明了为什么我们在软件开发过程中会首先做数据库的设计,进而根据数据库表结构设计相应的实体对象,这样的实体对象是数据模型转换的结果。原创 2021-09-19 20:33:26 · 827 阅读 · 0 评论 -
QLExpress规则引擎实战
由阿里的电商业务规则、表达式(布尔组合)、特殊数学公式计算(高精度)、语法分析、脚本二次定制等强需求而设计的一门动态脚本引擎解析工具。原创 2023-07-27 20:25:15 · 11538 阅读 · 3 评论 -
接口重试机制实战
重试机制通常来说,会用try/catch,while循环之类的语法来进行重处理,但是这样的做法缺乏统一性,会侵入业务代码,难以维护。spring-retry却可以通过注解,在不入侵原有业务逻辑代码的方式下,优雅的实现重处理功能,使业务代码和重处理解耦。原创 2023-07-26 09:21:42 · 226 阅读 · 0 评论 -
分布式任务调度平台XXL-JOB
XXL-JOB是一个分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用原创 2023-07-06 15:23:40 · 207 阅读 · 0 评论 -
java脚本引擎Groovy实战
互联网时代随着业务的飞速发展,不仅产品迭代、更新的速度越来越快,个性化需求也是越来越多。如何快速的满足各种业务的个性化需求是我们要重点思考的问题。我们开发的系统如何才能做到热部署就能适应各种规则变化呢?实现业务和规则的解耦。好了,Java的ScriptEngine脚本引擎给了我们一个选择,它支持代码动态执行,代码修改后不需要重启JVM进程,就可以使用解析或编译方式执行,非常方便,在一些动态业务规则、热更新、热修复等场景中会非常方便。原创 2023-07-06 18:13:08 · 13720 阅读 · 1 评论 -
微服务学习系列14:分库分表ShardingSphere
Apache ShardingSphere 是一款分布式的数据库生态系统, 可以将任意数据库转换为分布式数据库,并通过数据分片、弹性伸缩、加密等能力对原有数据库进行增强。原创 2023-05-26 09:37:32 · 668 阅读 · 0 评论 -
微服务学习系列8:RestTemplate
在java的http开发中,访问第三方网络接口,通常使用的连接工具为HttpClient和OKHttp。这两种连接工具,使用起来比较复杂,新手容易出问题。如果我们使用的是spring框架,可以使用R来进行http连接请求。RestTemplate默认的连接方式是java中的,可以使用指定不同的HTTP连接方式。例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。原创 2023-03-28 13:34:14 · 494 阅读 · 0 评论 -
微服务学习系列六:MyBatis-Plus用法
MyBatis-Plus (opens new window)(简称 MP)是一个 MyBatis (opens new window)的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。原创 2023-03-05 17:18:34 · 1279 阅读 · 0 评论 -
微服务学习系列二:Nacos实现注册中心
Nacos 支持基于 DNS 和基于 RPC 的服务发现原创 2023-02-17 14:29:57 · 350 阅读 · 0 评论 -
微服务学习系列一:Nacos实现配置中心
Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理原创 2023-02-16 10:19:07 · 445 阅读 · 0 评论 -
积分商城系统设计
店铺系统设计原创 2022-08-01 15:57:10 · 3383 阅读 · 0 评论 -
审批流设计
审批流原创 2022-07-30 10:30:12 · 3161 阅读 · 1 评论 -
Nginx架构设计七之静态资源部署
Rewrite是Nginx服务器提供的一个重要基本功能,是Web服务器产品中几乎必备的功能。 主要的作用是用来实现URL的重写原创 2022-05-31 23:52:51 · 692 阅读 · 0 评论 -
Nginx架构六之动静分离和高可用
动静分离什么是动静分离动态站点: 处理业务处理的应用程序,一般由动态语言JAVA开发。静态站点: 网站的静态资源(html,javaScript,css,images等文件)。将两者进行分开部署访问,提供用户进行访问。举例说明就是以后 所有和静态资源相关的内容都交给Nginx来部署访问,非静态内容则交 个类似于Tomcat的服务器来部署访问。为什么要动静分离Nginx在处理静态资源的时候,效率是非常高的,而且 Nginx的并发访问量也是名列前茅,而Tomcat则相对比较弱一些,所以原创 2022-05-26 21:20:40 · 193 阅读 · 0 评论 -
Nginx架构五之四层负载均衡
Nginx 四层负载均衡Nginx里有一个stream模块,用来实现四层协议的转发、 代理、负载均衡等。stream模块的用法跟http的用法类似,允许我们配 置一组TCP或者UDP等协议的监听,然后通过proxy_pass来转发我们的 请求,通过upstream添加多个后端服务,实现负载均衡。四层协议负载均衡的实现,一般都会用到LVS、HAProxy、F5等,要么 很贵要么配置很麻烦,而Nginx的配置相对来说更简单,更能快速完成 工作。...原创 2022-05-23 22:39:10 · 1301 阅读 · 0 评论 -
Nginx架构三之核心配置文件
Nginx配置详解安装完毕Nginx后,会有相应的安装目录,安装目录里的conf/nginx.conf为nginx的主配置文件,nginx主配置文件分为4部分,main(全局配置)、server(主机配置)、upstream(负载均衡服务器设置)以及location(URL匹配特定位置的设置)。在 nginx.conf 的注释符号为: #默认的 nginx 配置文件 nginx.conf 内容如下:######## Nginx的main(全局配置)文件#指定nginx运行的用户及用户组,默认原创 2022-05-06 21:15:41 · 1479 阅读 · 0 评论 -
Nginx架构四之七层负载均衡
负载均衡概念负载均衡(Load balancing)在不同的领域有不同的概念。其基本概念是为了减轻某个或某些实体的负载,将任务通过某种策略分配到多个实体上去,实现负载在不同实体间的平衡。七层负载均衡在开源PaaS 中,我们对各种应⽤层协议匹配不同的⽹络治理插件,以实现7层负载均衡(layer 7 load balancing),例如HTTP、gRPC、Redis等协议。原因在于对于⼀些在线环境,我们希望可以对服务间调⽤实现热更改或者更好的容错,⽐⽅说A/B测试、灰度发布等等,必须要在7层负载均衡上完成原创 2022-05-16 09:35:18 · 3940 阅读 · 0 评论 -
领域驱动设计-贫血模型VS充血模型
贫血模型所谓贫血模型,是指Model 中,仅包含状态(属性),不包含行为(方法),采用这种设计时,需要分离出DB层,专门用于数据库操作。充血模型Model 中既包括状态,又包括行为,是最符合面向对象的设计方式。举例说明对于员工Employee来说,每个员工的属性有Id,Name,Sex,BirthDay,Parent(上级),行为有查找,保存,删除,职位调整(更换上级) 等采用贫血模型实现采用充血模型设计...原创 2021-08-25 11:13:23 · 2004 阅读 · 1 评论 -
dubbo-远程服务暴露
DubboBootstrapApplicationListener继承体系图源码解析public class DubboBootstrapApplicationListener extends OneTimeExecutionApplicationContextEventListener implements Ordered { /** * The bean name of {@link DubboBootstrapApplicationListener原创 2021-07-31 21:07:04 · 360 阅读 · 0 评论 -
Dubbo-Adaptive自适应加载机制
javassistJavassist是一款字节码编辑工具,可以直接编辑和生成Java生成的字节码,以达到对.class文件进行动态修改的效果。熟练使用这套工具,可以让Java编程更接近与动态语言编程。maven依赖 <dependency> <groupId>org.javassist</groupId> <artifactId>javassist</artifactId&g.原创 2021-07-30 19:17:39 · 282 阅读 · 0 评论 -
Dubbo-SPI扩展点加载机制
javassistJavassist是一款字节码编辑工具,可以直接编辑和生成Java生成的字节码,以达到对.class文件进行动态修改的效果。熟练使用这套工具,可以让Java编程更接近与动态语言编程。maven依赖 <dependency> <groupId>org.javassist</groupId> <artifactId>javassist</artifactId>原创 2021-07-28 18:37:50 · 324 阅读 · 0 评论 -
Dubbo-高性能RPC通信框架
Dubbo部署架构注册中心:协调 Consumer 与 Provider 之间的地址注册与发现 Provider:暴露服务的服务提供方 Container:服务运行容器 Consumer:调用远程服务的服务消费方 Monitor:统计服务的调用次数和调用时间的监控中心...原创 2021-07-16 09:23:10 · 210 阅读 · 0 评论 -
Zookeeper架构二之实战
curator是zookeeper的一个高级api开发包。封装了zookeeper众多的recipes,并且实现了一些新的recipes原语,最重要的是基于zookeeper提供的各种机制实现了更健壮的连接和异常处理原创 2021-01-01 21:37:13 · 242 阅读 · 0 评论 -
Zookeeper架构一之原理
目录zookeeper是什么zookeeper提供了什么文件系统zookeeper是什么Zookeeper 分布式服务框架是Apache Hadoop 的一个子项目,它主要是用来解决分布式应用中经常遇到的一些数据管理问题,如:统一命名服务、状态同步服务、集群管理、分布式应用配置项的管理等。zookeeper提供了什么文件系统Zookeeper维护一个类似文件系统的数据结构:每个子目录项如 NameService 都被称作为 znode,znode是一个跟Unix文件系统路径相似的节点,可以往这原创 2021-01-03 09:51:04 · 296 阅读 · 1 评论