当前位置: 首页 > news >正文

网站设计的风格有哪些德州网架公司

网站设计的风格有哪些,德州网架公司,wordpress 说说功能,公司注册地址新规定高并发处理的思路: 扩容:水平扩容、垂直扩容缓存:将基础的数据放入缓存进行处理使用SpringCloud的注册中心,分服务注册到同一个注册中心,服务器检测使用Spring的熔断操作,检测服务器的心跳那个正常随机跳转…

高并发处理的思路:

  • 扩容:水平扩容、垂直扩容
  • 缓存:将基础的数据放入缓存进行处理
  • 使用SpringCloud的注册中心,分服务注册到同一个注册中心,服务器检测使用Spring的熔断操作,检测服务器的心跳那个正常随机跳转到正常的服务器上

也可以使用熔断机制通过实现Hystrix会监测微服务间调用的状况,当失败的调用到一定阈值缺省是5秒内20次调用失败,就会启用熔断机制

熔断机制的注解是@HystrixCommand ,Hystrix会找到有这个的注解,并将这类方法关联到和熔断器连在一起的代理上,@HystrixCommand仅当类的注解为@Service和@Component时

才会发挥作用。

微服务之间的调用有两种方式,一种是一个是RestTemplate,另一个是Feign。相对应,在这两种调用方式下,都有Hystrix调用方法

  • 数据量大的在数据库做集成处理

对于微服务项目开发中,多个微服务之间不仅是相对独立的,而且也是相对关联的。也就是说,微服务之间需要相互访问,多个微服务之间的接口可能会被互相调用多次,我们称之为微服务之间的通信。

  • 微服务之间的通信方式有很多种, 一般都是使用RestTemplate 或者Feign

RestTemplate,是Spring中方便使用rest资源的一个对象,交互访问的资源通过URL进行识别和定位。每次调用都使用模板方法的设计模式,模板方法依赖于具体的接口调用,从而实现了资源交互和调用。它的交互方法有30多种,大多数都是基于HTTP的方法,

例如:delete(),getForEntity(),getForObject(),put(),headForHeaders()

添加对应依赖

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId>
</dependency>

启动添加负载均衡标识

@LoadBalanced
@Bean
public RestTemplate getRestTemplate() {return new RestTemplate();
}

服务提供类,服务名称:SERVICE1,端口:7082

@RestController
@RequestMapping("/service1")
public class TestController {@RequestMapping(value = "test", method = {RequestMethod.POST,RequestMethod.GET})public String testService(@RequestParam(value = "testParam") String testParam) {System.println.out(testParam);return "success";}}

服务消费类

@RestController
@RequestMapping("/serviceFront")
public class ServiceFrontController {private final static String SERVICE1_URL = "http://SERVICE1:7082";private final static String SERVICE1 = "SERVICE1";@Autowired	LoadBalancerClient loadBalancerClient;@AutowiredRestTemplate restTemplate;@RequestMapping(value = "testFront", method = RequestMethod.POST)public HashMap<String,Object> testFront(@RequestParam String testParam) {this.loadBalancerClient.choose(SERVICE1);// 随机访问策略String result = restTemplate.getForObject(SERVICE1_URL + "/service1/test?testParam={1}", String.class, testParam);HashMap<String,Object> map = new HashMap<String,Object>();map.put("result", "测试结果!"+result);return map;}
}

RestTemplate发送post请求,主要的参数有如下几种

  • String url : 请求的路径
  • Object request:请求体【@RequestBody 注解接收】,或者是一个HttpEntity对象(包含请求参数,请求头)
  • Class< T> responseType:接收返回数据的类型
  • Map<String,?> uriVariables: uri 变量, 这是放置变量的地方
  • Object… uriVariables:可变长 Object 类型 参数
  • restTemplate.postForObject("http://XXXXXXXX?name={name}&age={age}", request, JSONObject.class, name,age);

    Feign,是声明式的伪HTTP客户端,使得编写HTTP客户端更新容易,只需要创建一个接口,并且使用注解的方式去配置,即可完成对服务提供方接口的绑定,大大简化了代码量,同时它还具有可拔插的注解特性,而且支持feign自定义的注解和springMvc的注解。

添加具体的Feign依赖

<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-feign</artifactId>
</dependency>
<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-ribbon</artifactId>
</dependency>

 在启动类Application添加feign注解,声明启动feign客户端

@EnableFeignClients

服务提供类,服务名称:SERVICE2 端口7083

@RestController
@RequestMapping("/service2")
public class TestController{@RequestMapping(value = "test2", method = {RequestMethod.POST,RequestMethod.GET})public String test2(@RequestParam(value = "testParam2") String testParam2) {System.println.out(testParam2);return "success";}}

 服务消费接口类

@FeignClient(name = "SERVICE2")
public interface TestFeignClient { @RequestMapping(value="/service2/test2",method = RequestMethod.GET)public String test2(@RequestParam("testParam2") String testParam2);}

服务消费控制层

@RestController
@RefreshScope
@RequestMapping("/serviceFront2")
public class TestFeignController {@Autowiredprivate TestFeignClient testFeignClient;@RequestMapping(value = "test2", method = { RequestMethod.POST })public HashMap<String,Object> test2(@RequestParam String testParam2) {		String result = testFeignClient.test2(testParam2);HashMap<String,Object> map = new HashMap<String,Object>();map.put("result", "测试结果!"+result);return map;}
}

总之,微服务之间的通讯方式可以多种并存,各有优势,在项目实践中可具体情况具体分析

http://www.yayakq.cn/news/609323/

相关文章:

  • wordpress怎么离线修改主页页脚优化大师官网下载安装
  • 建设局施工许可证网站百度云搜索引擎官网入口
  • 域名拍卖平台深圳整站seo
  • 河北电子网站建设网站开发的工作职责
  • 代码怎么生成网站简阳网站建设
  • 网站建设如何去找客户alexa排名助手
  • 盐城网站建设小程序公司南宁网站建设优化案例
  • 对网站做数据统计的目的是什么意思河南项目备案信息网
  • 做网站价格和配置全网营销推广怎么收费
  • 免费网站开发php网站建设论文答辩
  • 企业网站建设应注意什么wordpress文章内容语音
  • 小企业网站建设方案中山响应式网站
  • 根路径 网站网站搭建接单
  • 北京专业建网站的公司百度移动端排名软件
  • 河北网站开发报价紧急访问升级狼人通知
  • 智慧旅游网站建设方案pptseo网络推广哪家专业
  • 做网站的一般步骤上海市住房和城乡建设部网站
  • 企业网站展示生产的处方药介绍处罚案件重庆建设工程信息网查询平台入口官网
  • 建设网站需要哪些内容做网站项目
  • 网站制作的网站开发网站建设工作室怎么开
  • 专门看网站的浏览器网站高端网站建设
  • 长沙网站建设索王道下拉门户网站建设依据
  • 广汉移动网站建设投资公司的钱从哪里来
  • 东营做网站排名中国企业500强企业名单
  • 中国建设银行云南省分行官方网站开发一套小区多少钱
  • 客户管理系统网站模板下载融资平台公司
  • 东莞凤岗网站建设万维建设网站
  • 上海哪家网站建设比较好免费舆情信息网站
  • python做爬虫和做网站中铁三局最新消息
  • 免费的海报模板网站网站备案怎么弄