博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
简历的分布式
阅读量:6950 次
发布时间:2019-06-27

本文共 1183 字,大约阅读时间需要 3 分钟。

1,介绍一下项目,前端

  我个人的技术栈是比较偏向后端,对前端不是太精通,当时的前端是根据之前他们写好的页面大概搬过来再去修改其他细节,或者是请教下当时的同事,

  在讲到node,node在项目中是充当mvc的c层,也就是controller层,负责处理get请求和调用基于dubbox开放出来的restful的api接口

  dubbo一款,开源Java RPC框架,它提供了三大核心能力:面向接口的远程方法调用,智能容错和负载均衡,以及服务自动注册和发现。

  一个应用可以解耦拆分为几个应用,比如一个商城应用可以拆分为订单,商品,会员这些模块,每个模块独立部署,运行在不同的机器上,有着不同的内存

  通过dubbo上的dubbo协议上,服务消费方把方法、参数编码通过网络传输,在zookeeper注册中心找到对应的服务提供方,解码找到服务,完成运算,再把结果编码通过网络传输回来

  (题外:注册中心:服务消费者需要提供服务提供者的IP以及端口。服务一台机器不够,要再添加一台,这个时候就要告诉调用者我现在有两个ip了,你们要轮询调用来实现负载均衡结果某天一台机器挂了,调用者发现服务有一半不可用,他又只能手动修改代码来删除       挂掉那台机器的ip。zookeeper作为服务中心自动化地替我们实现服务自动注册与发现功能!zookeeper提供了“心跳检测”功能,它会定时向各个服务提供者发送一个请求(实际上建立的是一个 Socket 长连接),如果长期没有响应,服务中心就认为该服务提供者已经“挂         了”,并将其剔除)

  不过dubbo只能完成同语言之间的rpc调用,对于要开放出去的接口,就要用dubbo改造的dubbox,可以序列化为json串数据格式,开发api供node来调用。

2,dubbo相关的netty方面

  dubbo就是基于netty的框架,netty他首先封装了Java原生的nio,是一个异步和数据驱动的网络编程框架

  dubbo 刚刚使用的消费者,服务提供者都是基于netty开发,消费者使用 NettyClient,提供者使用 NettyServer,消费者和服务提供者启动的时候,会解析spring相关的xml,spring容器启动的时候,会帮我们启动一个netty应用,完成绑定端口的工作。当调用远程方法的时候,将数据通过 dubbo 协议编码发送到 NettyServer,然后 NettyServer 收到数据后解码,在一条责任链上相关的channelhandle处理,并调用本地方法,并返回数据,完成一次完美的 RPC 调用。在传统的绑定ip和端口的方式上,加上了zookeeper作为注册中心解耦(然后说说zk

  

转载于:https://www.cnblogs.com/vhyc/p/9788721.html

你可能感兴趣的文章
字符串类dp的题目总结
查看>>
css 视图结构
查看>>
洛谷P1445 樱花
查看>>
P1186 玛丽卡 删边最短路最大值
查看>>
软件工程期末展示材料——RUC自习助手
查看>>
zabbix监控nginx
查看>>
兼容火狐浏览器的select下拉框样式
查看>>
购物商城Web开发第七天
查看>>
TensorFlow安装解惑
查看>>
Windows 后台执行jar
查看>>
纯js实现10分钟倒计时
查看>>
敏捷实践简单分享补充
查看>>
Apple Push Notification service
查看>>
Linux下修改Mysql的用户(root)的密码
查看>>
python学习笔记之常用操作符
查看>>
poj 3126 Prime Path (bfs)
查看>>
事件代理
查看>>
[Influxdb]记录
查看>>
图的最小生成树(普利姆prim算法)
查看>>
干货:实现数据可视化的几个工具选择(工具+编程语言)
查看>>