随笔分类 - 18.微服务架构
摘要:一、SpringBoot常见配置 (1)SpingBoot与MyBatis集成时跟踪SQL语句 (2)日志跟踪 (3)MyBatis集成: Mapper所在路径不需要配置,系统会自动扫描与Application同级及以下的所有目录,同时对应的Spring也不需要配置 二、常见错误 (1)Spring
阅读全文
摘要:Instance ID用于唯一标识注册到Eureka Server上的微服务实例。我们可在Eureka Server的首页直观地看到各个微服务的Instance ID。例如,图11-1中的itmuch:microservice-provider-user:8000 就是Intance ID。 在Sp
阅读全文
摘要:一、问题场景 服务器上分别配置了eth0, eth1和eth2三块网卡,只有eth1的地址可供其它机器访问,eth0和eth2的 IP 无效。在这种情况下,服务注册时Eureka Client会自动选择eth0作为服务ip, 导致其它服务无法调用。 二、问题原因 由于官方并没有写明Eureka Cl
阅读全文
摘要:SpringCloud服务间的调用有两种方式:RestTemplate和FeignClient。不管是什么方式,他都是通过REST接口调用服务的http接口,参数和结果默认都是通过jackson序列化和反序列化。因为Spring MVC的RestController定义的接口,返回的数据都是通过Ja
阅读全文
摘要:一、FeignClient注解 FeignClient注解被@Target(ElementType.TYPE)修饰,表示FeignClient注解的作用目标在接口上 声明接口之后,在代码中通过@Resource注入之后即可使用。@FeignClient标签的常用属性如下: name:指定FeignC
阅读全文
摘要:在使用Spring Cloud开发微服务应用时中,各个微服务服务提供者都是以HTTP接口的形式对外提供服务,因此服务消费者在调用服务提供者时,通过HTTP Client的方式访问。当然我们可以使用JDK原生的`URLConnection`、`Apache的Http Client`、`Netty的异步
阅读全文
摘要:针对目前的容器优化,目前来说没有太多地方,需要考虑如下几个点: 线程数 超时时间 jvm优化 首先线程数是一个重点,初始线程数和最大线程数,初始线程数保障启动的时候,如果有大量用户访问,能够很稳定的接受请求, 而最大线程数量用来保证系统的稳定性,而超时时间用来保障连接数不容易被压垮,如果大批量的请求
阅读全文
摘要:定制的路由规则的主要功能: 1、路由表中包含源路径,微服务名称,目标路径 2、Endpoint粒度配置支持 3、路由支持1对1精确路由 4、源路径可以前缀/**格式来模糊路由 5、目标路径可以使用前缀/**格式来装配目标路径 6、保留默认动态路由规则:服务名称/** --> 是否截去前缀 --> 目
阅读全文
摘要:问题1:Spring如何加载配置,配置文件位置? 1、默认位置: Spring Boot默认的配置文件名称为application.properties,SpringApplication将从以下位置加载application.properties文件,并把它们添加到Spring Environme
阅读全文
摘要:关于Eureka服务注册与发现的示例可以参见:http://blog.didispace.com/springcloud1/ 服务注册管理器原理如下图所示: 1、建立eureka服务器 @EnableEurekaServer注解就可以让应用变为Eureka服务器,为其它微服务提供一个服务注册中心;
阅读全文
摘要:在Spring-cloud做微服务架构时,会碰到各种坑。下面总结一下Eureka的常见问题。 一、Eureka的自我保护模式 如果在Eureka Server的首页看到以下这段提示,则说明Eureka已经进入了保护模式: 一般出现此模式时,服务返回错误。即如果真实的服务已经Down掉,但在注册中心界
阅读全文
摘要:规则一:缩进 yaml使用一个固定的缩进风格表示数据层结构关系,Saltstack需要每个缩进级别由两个空格组成。一定不能使用tab键 规则二:冒号 yaml: mykey: my_value 每个冒号后面一定要有一个空格(以冒号结尾不需要空格,表示文件路径的模版可以不需要空格) 规则三:短横线 想
阅读全文
摘要:微服务不同于单一架构应用, 是典型的分布式场景, 各服务之间通过IPC进行通信. 实现微服务的过程中, 我们需要解决以下问题: 服务注册和服务发现. 根据应用选择合适的通信协议和数据协议. 例如可以选用thrift, protocol buffer或REST. 服务负载均衡. 一个服务一般会部署多个
阅读全文
摘要:一、Dubbo服务集群容错 假设我们使用的是单机模式的Dubbo服务,如果在服务提供方(Provider)发布服务以后,服务消费方(Consumer)发出一次调用请求,恰好这次由于网络问题调用失败,那么我们可以配置服务消费方重试策略,可能消费方第二次重试调用是成功的(重试策略只需要配置即可,重试过程
阅读全文
摘要:微服务框架选型,原文链接请参见:http://blog.didispace.com/microservice-framework/ http://blog.csdn.net/zeb_perfect/article/details/52008192
阅读全文
摘要:一、Spring-Cloud 1、Spring-Boot Spring Boot是希望通过注解(Annotation),来解决Spring配置文件较多的问题,从而能像Python的Flask、Ruby的Rails那样快速搭建Web应用,尤其是REST API的原型. 从Spring Boot项目名称
阅读全文
摘要:微服务(MicroServices)架构是当前互联网业界的一个技术热点,圈里有不少同行朋友当前有计划在各自公司开展微服务化体系建设,他们都有相同的疑问:一个微服务架构有哪些技术关注点(technical concerns)?需要哪些基础框架或组件来支持微服务架构?这些框架或组件该如何选型?笔者之前在
阅读全文