自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(191)
  • 收藏
  • 关注

原创 《计算广告》读书摘录笔记

是由已确定的出资人通过各种媒介进行的有关产品(商品、服务和观点)的,通常是有偿的、有组织的、综合的、劝服性的非人员的信息传播活动。广告的根本目的是广告主通过媒体达到低成本的用户接触。是希望借助媒体的力量来快速接触大量用户,以达到宣传品牌形象、提升中长期购买率与利润空间的目的。这种目的的广告称为当然,也有许多广告商希望能利用广告手段马上带来大量的购买或其他转化行为,这种目的的广告称为直接效果广告(direct response),有时也简称为。要确定是否真的成本较低,需要用到。

2023-10-10 10:15:05 218

原创 NSQ源码分析之channel

阅读本文之前,推荐先阅读上一篇对topic的分析。什么是channel结合上一篇对topic分析,channel的作用就是将topic的数据进行分流,topic会将发布的消息分配给所有连接的channel,而channel只会将消息发送给一个consumer,这样有利于下游的均衡负载。源码分析数据结构// Channel represents the concrete type for a NSQ channel (and also// implements the Queue interfa

2022-04-20 10:27:13 421

原创 NSQ源码分析之Topic

什么是TopicTopic作为nsqd的重要组成部分,里面存在一些有趣的设计,单独开一篇文章进行学习。每个nsqd实例旨在一次处理多个数据流。这些数据流称为“topics”,一个topic具有1个或多个“channels”。每个channel都会收到topic所有消息的副本,实际上下游的服务是通过对应的channel来消费topic消息。我的理解,topic就是类似一个键值对的键,不同于数据结构或者redis中的键值对,它的值是多个数据流,并且存放在channel当中。需要获取这个数据流的方法就是,

2022-04-18 15:59:00 507

原创 NSQ源码分析之lookupd

什么是lookupd上一篇文章中提到,lookupd是NSQ关键模块之一,负责管理nsq的拓扑信息。客户端通过查询 lookupd 来发现指定 topic的生产者,并且nsqd 节点广播 topic 和 channel 信息。

2021-11-21 20:19:08 561 2

原创 读《消费社会》

从前一直有一个观念,我们喜好的、能够选择的事物都是市场筛选的结果。在读这本书的时候,也能得出相同的结论,不过这里更加深刻一些。这本书讲述了消费这一行为对社会和人的影响。开头的时候,作者阐述社会的财富问题,什么是富裕,是我们的生活资料数量变多了?还是种类增长了?都不是。因此,认为在我们这个富裕社会里丰盛已不存在,而且不会被生产力的无限提高和新的生产力的解放所替代,是一点也不矛盾的。因为丰盛和丰富的结构定义存在于社会组织中。 从前的人认为丰衣足食就是富裕的,但是我们这代人都基本实现了这一目标,但是我们大多数人

2021-11-02 10:27:31 459

原创 NSQ源码分析之nsqd

概述最近想通过观察分析NSQ的源码,来更进一步学习golang,编程嘛,就是多看、多写、多思考,没有捷径。什么是NSQ引用官方文档的话:NSQ is a realtime distributed messaging platform designed to operate at scale, handling billions of messages per day.NSQ特性和使用网上很多介绍NSQ的文章,这里就不再赘述。文章链接NSQ的架构文本源码分析的思路就是根据NSQ的不同功能模块,

2021-09-29 20:32:01 572

原创 EdgeCloudSim初体验之源码导读、分析

EdgeCloudSim这个工具包的使用细节,不论是在论文还是在readme中,作者并没有给我们详细描述,大概是觉得源码都给你们了,自己看不就好了吗。所以,在这篇文章里想对这个工具包的各个模块的源码进行一个分析,深入了解它的工作原理,看看它到底是不是真的能实现我们所需的移动边缘计算的仿真效果。软件架构EdgeCloudSim的架构如下所示。主要包括了几个模块,在作者的论文中也有解释:核心仿真模块网络模块边缘调度模块负载生成器模块核心仿真模块移动模块在src文件夹下,存放了所有源码,

2021-03-29 11:06:49 4314 23

原创 EdgeCloudSim初体验之安装及初步使用

毕设中需要一个边缘计算的仿真测试平台,所以找到了一个EdgeCloudSim的开源平台,又是基于Java进行开发的,觉得很不错,但是中文网络环境中好像还没有对其的教程,在下不才,打算写一系列博文简单介绍分享一些这个软件的使用和踩过的坑。简介EdgeCloudSim是一种应用于边缘计算中计算和网络的仿真测试平台,它基于CouldSim进行开发,但添加了相当多的功能,因此可以有效地用于边缘计算方案。EdgeCloudSim是一个开源工具。包含的功能主要有:在Edge或Cloud VM之间进行任务迁移。

2021-03-23 11:14:41 7793 43

原创 Java Stream源码分析及知识点总结

概述什么是StreamStream就是一种流式的处理数据风格,这一种风格将要处理的元素集合看作一种流,流在管道中传输,并且可以在管道的节点上进行处理,比如进行筛选、排序和聚合。通俗地说,就是将Stream处理看作流水线作业,数据就是流水线上的原料,而对数据的操作就是流水线上对原料的加工。元素流在管道中经过中间操作(intermediate operation)的处理,最后由最终操作(terminal operation)得到前面处理的结果。Stream的特点Stream流处理是一个来自数据源的元素

2021-01-26 16:25:24 1270

原创 算法——最小生成树的关键边和伪关键边

给你一个 n 个点的带权无向连通图,节点编号为 0 到 n-1 ,同时还有一个数组 edges ,其中 edges[i] = [fromi, toi, weighti] 表示在 fromi 和 toi 节点之间有一条带权无向边。最小生成树 (MST) 是给定图中边的一个子集,它连接了所有节点且没有环,而且这些边的权值和最小。请你找到给定图中最小生成树的所有关键边和伪关键边。如果从图中删去某条边,会导致最小生成树的权值和增加,那么我们就说它是一条关键边。伪关键边则是可能会出现在某些最小生成树中但不会出现在.

2021-01-25 15:47:57 969

原创 Dubbo学习笔记(四)——微服务架构

微服务架构微服务架构需要解决的难题客户端如何访问这么多服务API 网关服务与服务之间如何通信同步通信 HTTP(Apache Http Client) RPC(Dubbo)异步通信 消息队列(Kafka RabbitMQ RocketMQ服务治理服务挂了怎么解决...

2021-01-20 14:13:26 346 2

原创 算法——摩尔投票法问题

给定一个大小为 n 的整数数组,找出其中所有出现超过 ⌊ n/3 ⌋ 次的元素。进阶:尝试设计时间复杂度为 O(n)、空间复杂度为 O(1)的算法解决此问题。解题思路:题目要求我们求出现次数超过三分之一总数的元素,说明最多存在两个元素符合条件。始终持有两个元素,遍历列表,对他们进行一个记分数,如果遇到与持有元素相同的元素,则对该元素进行加分,不然对其减分。如果分值为0,那么就将持有元素替换为当前遍历元素。因为不一定能够产生答案,所以,对两个元素再进行重新记分,看看是否超过了三分之一。cl.

2021-01-18 14:47:49 170

原创 Kubernetes——知识点问题整理

基础1.Kubernetes是什么,优点有哪些Kubernetes是自动化容器操作的开源平台。这些容器操作包括:部署,调度和节点集群间扩展。更高了看,是基于容器技术的分布式架构方案,是一个完备的分布式系统支撑平台。方便开发复杂系统,可以把更多精力放在业务开发上。全面拥抱微服务架构。随时随地可以把系统整体搬迁到公有云。弹性扩容机制可以让我应对突发流量,在公有云上接借用务,减少公司硬件投入。横向扩容能力很强,添加Node就可以。2.基本组成部分kubectl:客户端命令行工具,作为整个系

2021-01-17 10:06:15 1348

原创 计算机网络——应用层知识点汇总

Cookie的作⽤是什么?和Session有什么区别?Cookie 和 Session都是⽤来跟踪浏览器⽤户身份的会话⽅式,但是两者的应⽤场景不太⼀样。Cookie ⼀般⽤来保存⽤户信息 ⽐如:我们在 Cookie 中保存已经登录过得⽤户信息,下次访问⽹站的时候⻚⾯可以⾃动帮你登录的⼀些基本信息给填了;⼀般的⽹站都会有保持登录也就是说下次你再访问⽹站的时候就不需要重新登录了,这是因为⽤户登录的时候我们可以存放了⼀个 Token 在 Cookie中,下次登录的时候只需要根据 Token 值来查找⽤户

2021-01-16 08:35:05 375

原创 Spring——问题知识点总结

基本概念1.什么是SpringSpring是一种轻量级框架,旨在提高开发人员的开发效率以及系统的可维护性。我们一般说的Spring框架就是Spring Framework,它是很多模块的集合,使用这些模块可以很方便地协助我们进行开发。这些模块是核心容器、数据访问/集成、Web、AOP(面向切面编程)、工具、消息和测试模块。比如Core Container中的Core组件是Spring所有组件的核心,Beans组件和Context组件是实现IOC和DI的基础,AOP组件用来实现面向切面编程。2.Spr

2021-01-14 11:23:10 272

原创 Java基础问题汇总

Object类下有哪些方法?参考博客引申问题equals() 与 == 的区别是什么?如果没有被equals没有被重写,那么其底层就是一样的。hashCode() 和 equals() 之间有什么联系?如果两个对象相同(即用equals比较返回true),那么它们的hashCode值一定要相同;如果两个对象的hashCode相同,它们并不一定相同(即用equals比较返回false)为什么重写了equals就必须重写hashCode?因为我们在比较对象的时候,往往需要比较对象中的值是否

2021-01-13 16:46:05 155 1

原创 《Kubernetes权威指南》笔记

Pod简述Pod是kubernetes最小的调度单元。每一个Pod都有一个被称为根容器的pause容器和其他的业务容器。结构如下图所示:为什么Kubernetes需要设计出Pod这种全新的模型?在一组容器都作为一个单元的情况下,我们难以对整体简单地进行判断及有效地控制。Pod里多个业务容器共享Pause容器地IP,共享Pause容器挂载地Volume,简化了密切关联地业务容器之间地通信和文件共享问题。Pod可以分为:静态Pod不存放到etcd中,而是存放在某个具体的Node上的一个具

2021-01-13 15:27:52 392 1

原创 算法——添加字符得到最短回文串

给定一个字符串 s,你可以通过在字符串前面添加字符将其转换为回文串。找到并返回可以用这种方式转换的最短回文串。leetcode解题思路:首先找到最长的回文串;然后添加之前无法组成回文串的部分。class Solution { public String shortestPalindrome(String s) { String reverse = new StringBuffer(s).reverse().toString(); for(int i .

2021-01-12 17:18:51 703 1

原创 Docker——知识点问题总结

架构1.解释基本的Docker使用工作流程是怎样的从Dockerfile开始,Dockerfile是镜像的源代码;创建Dockerfile后,可以构建它以创建容器的镜像。镜像只是“源代码”的“编译版本”,即Dockerfile;获得容器的镜像后,应使用注册表重新分发容器。注册表就像一个git存储库,可以推送和拉取镜像;接下来,可以使用该图像来运行容器。在许多方面,正在运行的容器与虚拟机(但没有虚拟机管理程序)非常相似。通过镜像就能运行相应的容器。使用完成之后,就需要将容器删除。2.容器内部

2021-01-10 20:38:53 483

原创 算法——将数组n等分(斯特林数)

给你一个整数数组 jobs ,其中 jobs[i] 是完成第 i 项工作要花费的时间。请你将这些工作分配给 k 位工人。所有工作都应该分配给工人,且每项工作只能分配给一位工人。工人的 工作时间 是完成分配给他们的所有工作花费时间的总和。请你设计一套最佳的工作分配方案,使工人的 最大工作时间 得以 最小化 。返回分配方案中尽可能 最小 的 最大工作时间 。leetcode解题思路:暴力深搜每个情况,求出最小的值。在搜索每一层的时候,需要搜索的情况有:添加到每一个已有集合。新建一个集合。c.

2021-01-10 15:36:39 674

原创 Docker——容器卷管理

概述为了能够实现容器数据的持久化,Docker提出了卷(volume)的概念。卷就是目录或者文件,由docker Daemon挂载到容器中,卷中的数据在容器被删除之后还是可以访问,从而实现持久化。Docker提供了两种管理数据的方式,数据卷和数据卷容器。基础管理数据卷在启动镜像的时候,通过-v标签来创建新卷或者挂载已有的数据卷。容器卷通过create命令创建新的容器卷,然后在启动应用镜像时,使用-volume-from来挂在容器卷。Docker卷管理的问题:只支持本地数据卷,不能挂在

2021-01-10 10:02:41 153

原创 算法——课程表 II(有向图拓扑排序)

现在你总共有 n 门课需要选,记为 0 到 n-1。在选修某些课程之前需要一些先修课程。 例如,想要学习课程 0 ,你需要先完成课程 1 ,我们用一个匹配来表示他们: [0,1]给定课程总量以及它们的先决条件,返回你为了学完所有课程所安排的学习顺序。可能会有多个正确的顺序,你只要返回一种就可以了。如果不可能完成所有课程,返回一个空数组。leetcode解题思路:这是是个有向图的拓扑排序问题。如果图中存在环,那么就不能产生结果,需要返回空。利用一个map来保存图,需要先学习的课程为出发点;.

2021-01-09 20:40:53 218 1

原创 Docker——网络

基本网络配置Linux平台下,Docker容器网络资源通过内核的Network Namespace机制实现隔离,不同的Network Namespace 有各自的网络设备、协议栈、路由表、防火墙规则等,反之,同一Network Namespace下的进程共享同一网络视图。网络驱动Docker网络中使用Libnetwork的容器网络模型定义类标准的API用于容器配置网络,其底层还可以适配各种网络驱动。Libnetwork使得Dockers具备跨主机多子网的能力,同一个子网内不同容器可以运行在不同主机上

2021-01-09 15:34:34 119

原创 《精通Spring 4.x企业应用开发实战》笔记

概述Spring的优点方便解耦,简化开发。通过IOC容器,用户可以将对象之间的依赖关系交给spring控制,避免硬编码的耦合。用户不必再为单例模式类、属性文件解析这些底层的需求写代码,可以更专注与上层应用。AOP编程的支持。方便进行面向切面的编程。声明式事务的支持。方便灵活地进行事务管理。方便程序测试。可以用非容易依赖的编程方式进行几乎所有的测试工作。方便集成各种优秀的框架。降低Java EE API的使用难度。Spring的架构IOCspring核心模块实现了IOC功能,它将

2021-01-08 21:44:13 239

原创 Java NIO源码分析及知识点总结

简介Java NIO(New I/O),是一种同步非阻塞的I/O模型,也是I/O多路复用的基础,已经被越来越多地应用到大型应用服务器,成为解决高并发与大量连接、I/O处理问题的有效方式。不同的IO模型比较如下图所示。从图中可以看出,阻塞的IO模型在资源没有被满足的时候,读取线程是呈阻塞态的,而非阻塞的IO模型就像轻量级锁那样,通过反复询问的方式来获取资源,这样避免了线程的阻塞,但是如果一直没有数据也会提高CPU的开销。架构NIO主要有三大核心部分:Channel(通道),Buffer(缓冲区),

2021-01-06 19:12:21 244

原创 算法——数字范围按位与

给定范围 [m, n],其中 0 <= m <= n <= 2147483647,返回此范围内所有数字的按位与(包含 m, n 两端点)。leetcode解题思路:找规律的问题,在实战中,很难快速进行证明。就是可以发现,只有前缀的1才有可能保存下来,应为是连续的,后面是肯定会产生很多0的,所需,寻找最长的前缀1就是最后的位与答案。class Solution { public int rangeBitwiseAnd(int m, int n) { i.

2021-01-06 16:41:46 145

原创 Redis事务的应用业务场景分析

分布式锁业务场景秒杀问题,如何防止最后一件商品不会被多人同时购买。解决方案使用setnx 设置一个公共锁。setnx lock-key value利用setnx命令的返回值特征,有值则返回设置失败,无值则返回设置成功。对于返回设置成功的,拥有控制权,进行下一步具体业务操作。对于返回值设置失败的,不具有控制权,排队或者等待。操作完毕之后,通过del键值对来释放锁。死锁解决业务场景依赖分布式锁的机制,某个用户获取到锁,之后没来得及释放就挂了,如果解决。业务分析由于锁操作

2021-01-04 19:43:39 962

原创 Docker——架构分析

Docker的核心组件包括:Docker 客户端 - ClientDocker 服务器 - Docker daemonDocker 镜像 - ImageDocker 仓库 - RegistryDocker 容器 - ContainerDocker采用的是Client/Server 架构。客户端向服务器发送请求,服务器负责构建、运行和分发容器。架构如下图所示。客户端Docker客户端一般通过Docker command来发起请求,另外可以通过Docker提供的一整套RESTful AP

2021-01-04 10:32:24 141

原创 Redis数据类型的应用业务场景分析

这篇文章主要针对Redis中不同数据类型在各种业务场景下的应用进行一个介绍,以加深我们对Redis中数据类特性和操作的概念印象。字符串扩展操作业务场景大型企业级应用中,分表操作是基本操作,使用多张表存储同类型数据,但是对应的主键id必须保证统一性,不能重复。Oracle数据库具有sequence设定,可以解决该问题,但是MySQL数据库并不具有类似的机制,那么如何解决。解决方案不要让数据库进行主键自增,而是由Redis来控制主键的增减操作。创建字符串对象,并且其中存储的纯数字。设置数值数据

2021-01-03 20:25:09 211

原创 读《拒斥死亡》——英雄主义的困惑

也不知道当初自己是怎么找到这本冷门的书,好像是在阅读《每个人都会死,但我总以为自己不会》一书中,偶然看到其中的推荐阅读,觉得书名有意思,就从网上找来阅读了。这本书观点角度独特,论述的知识点很专业,我本来以为也是像其他的社会类的书籍那样,会以贴近我们的生活的方式来讨论。书中结合了存在主义、精神分析和宗教神学的不同观点,尤其是关于精神分析的那部分,看得我是一头雾水。人为什么而活?人的本性是什么样的?人是怎么应对死亡的?这些问题,都在这本书的讨论范围之内。书中以英雄主义为逻辑的出发点,这是人类最根本的冲动,究

2021-01-02 20:57:31 564

原创 Java 并发编程——问题整理

多线程可能会对系统的造成的问题线程的创建和销毁成本很高,在Linux这样的操作系统中,线程本质上就是一个进程。创建和销毁都是重量级的系统函数。线程本身占用较大内存,像Java的线程栈,一般至少分配512K~1M的空间,如果系统中的线程数过千,恐怕整个JVM的内存都会被吃掉一半。线程的切换成本是很高的。操作系统发生线程切换的时候,需要保留线程的上下文,然后执行系统调用。如果线程数过高,可能执行线程切换的时间甚至会大于线程执行的时间,这时候带来的表现往往是系统load偏高、CPU sy使用率特别高(超过

2021-01-02 09:24:54 116 1

原创 算法——地下城游戏(倒推DP)

一些恶魔抓住了公主(P)并将她关在了地下城的右下角。地下城是由 M x N 个房间组成的二维网格。我们英勇的骑士(K)最初被安置在左上角的房间里,他必须穿过地下城并通过对抗恶魔来拯救公主。骑士的初始健康点数为一个正整数。如果他的健康点数在某一时刻降至 0 或以下,他会立即死亡。有些房间由恶魔守卫,因此骑士在进入这些房间时会失去健康点数(若房间里的值为负整数,则表示骑士将损失健康点数);其他房间要么是空的(房间里的值为 0),要么包含增加骑士健康点数的魔法球(若房间里的值为正整数,则表示骑士将增加健康点.

2021-01-01 16:05:47 373 2

原创 算法——模拟小数除法

给定两个整数,分别表示分数的分子 numerator 和分母 denominator,以 字符串形式返回小数 。如果小数部分为循环小数,则将循环的部分括在括号内。如果存在多个答案,只需返回 任意一个 。对于所有给定的输入,保证 答案字符串的长度小于 104 。leetcode解题思路:这里需要解决的就是一个最后循环小数的问题。如果被除数反复出现,那么就肯定存在循环了,所以,我们只需要记录每个被除数以及它在小数计算中的起始位置,这样,在下一次遇到这个被除数时,就能通过前一个被除数的位置,得到循环.

2021-01-01 15:02:23 232 1

原创 Java虚拟机问题总结

JVM参数主要有几种分类标准参数标准参数,顾名思义,标准参数中包括功能以及输出的结果都是很稳定的,基本上不会随着JVM版本的变化而变化。标准参数以-开头,如:java -version、java -jar等,通过java -help可以查询所有的标准参数。非标准参数非标准参数以-X开头,是标准参数的扩展。对应前⾯讲的标准化参数,这是非标准化参数。表示在将来的JVM版本中可能会发生改变,但是这类以-X开始的参数变化的⽐较小。不稳定参数这是我们日常开发中接触到最多的参数类型。这也是⾮标准化参数,

2021-01-01 10:29:27 140 1

原创 Dubbo知识点总结

架构问题1.Dubbo的架构设计service服务层:用户编写的服务接口和服务实现类。是与实际业务逻辑相关的。config配置层:对外的配置接口,封装配置文件中的配置信息,以 ServiceConfig, ReferenceConfig 为中心,分别表示服务提供者和消费者的配置。proxy服务代理层:用于生成服务端或者消费者的代理对象,通过代理对象来调用服务。registry注册中心层:封装服务地址的注册与发现,以服务 URL 为中心,用于服务的发现和注册。cluster路由层:封装多个提供者

2020-12-31 10:27:20 223

原创 Dubbo学习笔记(三)——实现原理

框架设计Dubbo的整体框架入下图所示。其中各层的说明如下:service服务层:用户编写的服务接口和服务实现类。这是框架中,唯一用户可见的。config配置层:对外的配置接口,封装配置文件中的配置信息,以 ServiceConfig, ReferenceConfig 为中心,分别表示服务提供者和消费者的配置。proxy服务代理层:用于生成服务端或者消费者的代理对象,通过代理对象来调用服务。registry注册中心层:封装服务地址的注册与发现,以服务 URL 为中心,用于服务的发现和注册。

2020-12-30 21:34:39 169

原创 Dubbo学习笔记(二)——高可用

注册中心宕机现象:当注册中心发生宕机,消费者还是能够消费dubbo暴露的服务。原因:监控中心掉线不会影响使用,只是丢失部分采样数据。数据库宕机之后,注册中心仍能通过缓存提供服务列表查询,但是不能注册新的服务。注册中心对等集群,任意一台掉了,还是能够自动切换到另一台上。注册中心都挂了,服务提供者和消费者还是可以通过本地缓存实现通讯。服务提供者无状态,任意一台掉了,还是可以由其他的提供者提供服务。服务提供者都挂了,那么消费者就不能使用应用了,并且会无限次地重试等待服务者恢复。负载均衡机制

2020-12-30 09:26:44 93

原创 算法——补齐数组使得数组可以组成一段区间内的所有元素

给定一个已排序的正整数数组 nums,和一个正整数 n 。从 [1, n] 区间内选取任意个数字补充到 nums 中,使得 [1, n] 区间内的任何数字都可以用 nums 中某几个数字的和来表示。请输出满足上述要求的最少需要补充的数字个数。leetcode解题思路:贪心思想,遍历数组,如果不存在当前的元素,那么就直接加入当前的元素,这样,当前元素的两倍减一的所有数都能被表示了。如果存在当前元素,那么就将数组下标增加,同时不可表示的数也增加当前的数组元素,数组下标增加。class Solu.

2020-12-29 14:56:16 168

原创 Java并发编程——ThreadLocal源码分析及知识点总结

ThreadLocal简介ThreadLocal是为了在多线程下,实现对于一个变量访问的安全性。不同于加锁的可见性方式,ThreadLocal提供给每个线程有一个自己的变量,和其他线程互不干扰,所以,变量也是不共享的,在实际多线程操作的时候,操作的是自己本地内存中的变量,从而规避了线程不安全问题。每个线程使用ThreadLocal的时候,其实就是在使用自身线程对象的ThreadLocalMap字段,所以互不干涉。ThreadLocal的使用常用基本的使用API有:get()获取当前线程下的t

2020-12-29 10:51:52 136 2

原创 Dubbo学习笔记(一)——配置

配置项的分类服务发现:表示该配置项用于服务的注册与发现,目的是让消费方找到提供方。服务治理:表示该配置项用于治理服务间的关系,或为开发测试提供便利条件。性能调优:表示该配置项用于调优性能,不同的选项对性能会产生影响。所有配置最终都将转换为 URL 表示,并由服务提供方生成,经注册中心传递给消费方,各属性对应 URL 的参数,参见配置项一览表中的 “对应URL参数” 列。具体的标签功能和使用方式,可以参考官方文档。配置的形式Dubbo的配置方式主要有:XML配置属性配置注解配置JV

2020-12-28 10:48:58 232 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除