- 博客(12)
- 问答 (2)
- 收藏
- 关注
原创 dubbo学习之应用
为什么要用dubbo远程通信的背景技术架构的发展从单体到分布式,是一种顺势而为的架构演进,也是一种被逼无奈的技术变革。架构的复杂度能够体现公司的业务的复杂度,也能从侧面体现公司的产品的发展势头是向上的。和传统的单体架构相比,分布式多了一个远程服务之间的通信,不管是soa还是微服务,他们本质上都是对于业务服务的提炼和复用。那么远程服务之间的调用才是实现分布式的关键因素而在远程通信这个领域,其实有很多的技术,比如Java的RMI、WebService、Hessian、Dubbo、Thrift等RPC框架
2021-03-10 15:03:14
195
原创 SpringCloud组件原理刨析之Ribbon
什么是RibbonRibbon是一个提供在客户端的负载均衡的组件,相对于nginx会较轻量级。Ribbon的本质其实就是一个拦截器。相信大家都知道在使用Ribbon的时候,会和RestTemplate一起使用,在使用RestTempplate的时候,但此时的URL是一个htpp://servername/method的一个形式,所以Ribbon会在调用前,进行拦截,将Url解析成,http://ip+port的的形式,然后在进行负载均衡相关算法来分发HTTP请求。解析基于配置中的服务器列表基于负载均
2021-03-10 12:24:49
214
原创 分布式之远程通信协议
HTTP协议通信原理说到通信,就一定会提起tcp和upd这两种通信协议,以及建立连接的握手过程。而http协议的通信时基于tcp/ip协议之上的一个应用层协议,应用层协议除了http还是有FTP,DNS,SMTP,Telnet等。涉及到网络协议,我们一定需要知道OSI七层网络模型和TCP/IP四层概念模型,OSI七层网络模型包含(应用层,表示层,会话层,传输层,网络层,数据链路层,物理层)。TCP/IP四层概念模型包含(应用层,传输层,网络层,数据链路层)。请求发起过程,在tcp/ip四层网络模型
2020-05-22 17:58:15
541
原创 设计模式之建造者模式
建造者模式(Builder Pattern)定义:是将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示特征:用户只需要指定需要建造的类型就可以获得对象,建造过程及细节不需要了解。 (把建造的步骤交给用户,把建造的结果交给自己)优点:封装性好,创建和使用分离。扩展性好,建造类之间独立,一定程度上解耦缺点:产生多余的Builder对象。产品内部发送变化,建造者都要修...
2020-04-01 10:41:59
98
原创 设计模式之原型模式
原型模式(Prototype Pattern)定义:是指原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的绣有。(原型模式的核心就是拷贝)调用者不需要知道任何创建细节,不调用构造函数。(类似工厂模式和单例模式)属于创建者模式使用场景:类初始化消耗资源较多new产生的一个对象需要非常繁琐的过程(数据准备,访问权限等)构造函数比较复杂循环体重生产大量对象时优点:性能...
2020-03-31 16:45:22
149
原创 设计模式之单例模式
单例模式(Singleton Pattern)定义:是指确保一个类在任何情况下都绝对只有一个实例,并且提供一个全局访问点。隐藏其所有的构造方法。属于创建型模式使用场景:确保任何情况都绝对只有一个实例。例如:ServletContext,ServletConfig,ApplicationContext,DBPool单例模式的常见写法:饿汉式单例懒汉式单例注册式单例ThreadLoca...
2020-03-30 19:10:51
154
原创 设计模式之委派模式
委派模式(Delegate pattern)定义:委派模式又叫委托模式。它的基本作用就是负责任务的调度和任务的分派,将任务的分配和执行分离开来。可以看做是一种特殊情况瞎的静态代理的全权代理。不属于GOF 23种设计模式之一。属于行为型模式使用场景:委派对象本身不知道如何处理一个任务或请求,把请求交给其他对象来处理。实现程序的解耦优点:通过任务委派能够讲一个大型的任务细化,然后通过统一管理这些...
2020-03-29 20:04:02
159
原创 设计模式之工厂模式
工厂模式 (factory pattern)简单工厂模式(simple factory pattern) 是产品的工厂定义:是指由一个工厂对象决定创建出哪一种产品类的实例,属于创建型模式,但它不属于GOF 23种设计模式使用场景:工厂类负责创建的对象较少。客户端只需要传入工厂类的参数,对于如何创建对象的逻辑不需要关心优点:使用方式简单,只需要传一个正确的参数,而不需要关注对象的创建逻辑...
2020-03-27 15:15:15
96
原创 org.apache.kafka.common.errors.TimeoutException: Failed to update metadata after 60000 ms.
最近在搭建springcloud项目时,启动项目时,由于外网无法访问搭建在阿里云服务器的kafka队列,从而报org.apache.kafka.common.errors.TimeoutException: Failed to update metadata after 60000 ms.百度了各种资料,什么修改kafka外网配置,服务器kafka与项目的kafka版本不兼容及其相关的东西都无法...
2019-08-03 15:24:52
4599
原创 SpringCloud学习
Spring Cloud 是什么?Spring Cloud 是一系列框架的有序集合,它利用 Spring Boot 的开发便利性简化了分布式系统的开发,比如服务发现、服务网关、服务路由、链路追踪等。Spring Cloud 并不重复造轮子,而是将市面上开发得比较好的模块集成进去,进行封装,从而减少了各模块的开发成本。换句话说:Spring Cloud 提供了构建分布式系统所需的“全家桶”。Sp...
2019-07-25 17:23:33
206
原创 Java并发编程了解及学习
并发介绍线程的优点: 1.提供资源的利用率 2.提高程序性能线程的风险: 1. 死锁 2. 上下文切换 3. 线程安全多线程的实现方式Thread类Runnable接口Callablefuture当多个线程同一时间运行同一段代码,线程会竞争,成员变量就会产生问题。那么如何解决这类问题呢?给方法加 synchronized(同步锁),建议给关键代码加 syn...
2019-07-18 18:12:46
155
转载 java网络编程
初学网络编程1.计算机网络概述2.网络编程概述3.网络通讯方式4.网络编程技术客户端服务器端客户端服务器端服务器端代码线程逻辑网络协议1.计算机网络概述网络编程的实质就是两个或者多个计算机互相沟通,传输数据。既然是多个计算机互相沟通,那么如何找到自己需要对话的哪台计算机则成为了关键。于是就引入了ip地址这个概念,在计算机网络中,现在命名IP地址的规定是IPv4协议,该协议规定每个IP地址由4...
2019-07-02 11:24:45
145
空空如也
最近开发,发现数据库时不时的会出现一些重复的数据,还望大佬指点
2019-07-12
TA创建的收藏夹 TA关注的收藏夹
TA关注的人