demo
牧九州
只写自己想看的内容
展开
-
Thread类的start()和run()的区别
先给结论:start()属于Thread本身,run()方法实现于Runnable接口;调用start()方法时会调用native的start0()方法,启用一个线程,在获取到CPU时间片时调用run()方法;直接调用run()方法,仅仅是普通方法调用,并不会启用线程;start()方法是启用一个线程,所以不会阻塞调用它的线程;run()方法不会启用线程,所以会阻塞调用它的线程,直至run()方法体执行结束;run()方法一般可以被多次调用,start()是synchronized修原创 2020-06-06 22:25:53 · 701 阅读 · 0 评论 -
一个简单的Socket尝试
Socket套接字(socket)是一个抽象层,应用程序可以通过它发送或接收数据,可对其进行像对文件一样的打开、读写和关闭等操作。套接字允许应用程序将I/O插入到网络中,并与网络中的其他应用程序进行通信。网络套接字是IP地址与端口的组合。为了方便通信程序开发,大部分操作系统提供了一组基于TCP或UDP的API函数也称为套接字。传输层连接的端点,与应用交互,通过网卡与另一台主机的Socket...原创 2020-04-24 16:16:04 · 517 阅读 · 2 评论 -
Spring cloud分布式系统搭建(七)
七、配置中心ConfigSpring Cloud Config为分布式系统中的外部化配置提供了服务器端和客户端支持。通过配置服务器,可以很方便的来管理各应用程序的外部属性。本文将实现客户端获取配置参数。新建config模块,添加pom.xml依赖:<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://ma...原创 2020-04-16 21:26:06 · 243 阅读 · 0 评论 -
Spring cloud分布式系统搭建(六)
六、API网关:Zuulzuul也叫路由网关,具体啥作用咱目前也不用管,个人喜欢先上手,会用了再去了解它到底是什么。咱们暂时可以参考controller来理解zuul,简单来说就类似于路径带"/order"访问订单服务,带"/goods"访问商品服务。开干,新建模块zuul,pom.xml如下:<?xml version="1.0" encoding="UTF-8"?><...原创 2020-04-16 21:25:01 · 233 阅读 · 0 评论 -
Spring cloud分布式系统搭建(五)
五、服务降级和熔断本节将引入熔断器Hystrix。首先来看一下什么是雪崩效应:服务雪崩效应是一种因“服务提供者的不可用”(原因)导致“服务调用者不可用”(结果),并将不可用逐渐放大的现象举个栗子:假设,order-server请求goods-server时,由于某些原因,goods-server返回时间变为无限长,此时order-server也将一直等待响应,当order-server堆...原创 2020-04-16 21:23:35 · 350 阅读 · 0 评论 -
Spring cloud分布式系统搭建(四)
四、负载均衡的引入为了使服务器资源得到充分利用,每次在请求商品服务器时,需要请求不同的服务器,从而达到分担服务器压力的效果,其实就是这节要说的负载均衡。又需要“开刀”了!首先对启动类下手,给它加上负载均衡的注解:接着改造一下GoodService:package com.mujio.orderserver.service;import com.mujio.orderserver.en...原创 2020-04-16 21:22:24 · 158 阅读 · 0 评论 -
Spring cloud分布式系统搭建(三)
三、实现分布式系统的高可用后期的eureka一直到config的搭建,请注意依赖的版本号,避免冲突,本文依赖可以正常运行,大家可以参考文中的pom.xmlEureka服务端搭建Eureka的具体作用这里不做多讲,主要来实践其搭建和使用方法。创建新模块,命名为eureka-server。需要注意的 是,使用spring boot创建eureka时需要选择Cloud Discovery中...原创 2020-04-16 21:21:22 · 257 阅读 · 0 评论 -
Spring cloud分布式系统搭建(二)
二、订单与商品服务分离 这里需要将订单与商品服务独立布置在两台服务器上,我们可以通过分模块单独运行来模拟。拆分商品服务:在mall下新建goods-server模块,复制mall中与商品相关的代码:pom.xml中中的内容;GoodService、GoodsMapper、Goods、GoodsController的代码;application.properties内容。给Go...原创 2020-04-16 21:19:20 · 326 阅读 · 0 评论 -
Spring cloud分布式系统搭建(一)
写在前面: 这是一个分布式demo,方便今后搭建分布式项目的时候直接使用。项目从传统项目着手,逐步改造成高可用的分布式,eureka、ribbon、hystrix、zuul、config 等,浅显的涉及到微服务的拆分,负载均衡,服务降级,路由网关等。源码地址GitHub:https://github.com/Mujio-killer/mall.git一、传统项目介绍 一直想学习一下...原创 2020-04-16 21:17:03 · 324 阅读 · 0 评论