认识微服务

1.服务治理
    SOA:面向服务编程  注册中心 治理中心 监控中心 调度中心
2.远程调用方式
    1.RPC:远程过程调用 RMI远程方法调用
    2.http:网络传输协议,基于TCP
       相同点:底层通讯都是基于socket,都可以实现远程调用,都可以实现服务调用服务
       各自优点:RPC方式更加透明,对用户更方便。http方式更加灵活,没有规定API和语言,跨语言,跨平台,通过浏览器访问           网站,就是通过http协议。只不过浏览器把请求封装了,发起请求以及响应请求的事情都帮我们做了。
3.springcloud
    1.eureka注册中心
        服务注册中心,服务提供者,服务消费者
        服务续约:服务提供者会维持一个心跳,定时想eureka发起rst请求
        失效剔除和自我保护:
            每隔60秒是对所有的失效服务进行剔除
            但是eureka会触发自我保护机制,不给于剔除,需要关闭自我保护
    2.负债均衡Ribbon:
        eureka帮我集成了负债均衡组件:Ribbon
        在resttemplate上加上@LoadBalanced注解即可
        重试机制:
            cap定理:eureka使用了ap,zookeeper使用了cp,强调一致性
    3.hystrix:熔断器
        启动器加上注解@EnableHystrix开启熔断器
        声明一个失败时的回滚处理函数@HystrixCOmmand(fallbackMethod="")
        熔断时间要比重试时间长,不然重试机制没有生效
    4.Feign:可以把Rest的请求进行隐藏,伪装成springmvc 的controler一样
        启动器加上注解@EnableFeignClients开启feign功能
        Feign默认也有对Hystix的集成:在接口上写:@FeignClient(value = "user-service", fallback = UserFeignClientFallback.class)
    5.Zuul网关:
        @EnalbeZuulProxy开启Zuul
        ZuulFilter:
            shouldFilter:返回一个Boolean值,判断该过滤器是否需要执行。返回true执行,返回false不执行。
            run:过滤器的具体业务逻辑。
            filterType:返回字符串,代表过滤器的类型。包含以下4种:
                pre:请求在被路由之前执行
                routing:在路由请求时调用
                post:在routing和errror过滤器之后调用
                error:处理请求时发生错误调用
            filterOrder:通过返回的int值来定义过滤器的执行顺序,数字越小优先级越高。
        Zuul中默认就已经集成了Ribbon负载均衡和Hystix熔断机制。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值