
文章插图
注册中心
从上图我们能知道主要是三个概念:
- 服务提供者
微服务的具体提供者,其他微服务通过接口调用即可
- 服务消费者
对应于服务提供者,按照提供者接口编程即可 。这么轻松的嘛,当然很多细节 。举个例子,注明的dubbo服务框架,服务接口通过Dubbo框架代理机制访问Dubbo客户端,客户端通过服务接口声明去注册中心查看有哪些服务器,并将这服务器列表给客户端 。
客户端然后根据负载均衡策略选择其中一个服务器,通过远程调用的方式发送服务调用 。那么使用微服务需要注重哪几点?

文章插图
选择中的注意事项
不要拿工具硬上需求,结合业务也许会更佳!

文章插图
高可用
高可用,意味着一台机器挂了没事,其他机器可以照常工作,用户体验一样倍棒,用户压根就不知道,卧槽,你居然升级了系统,我居然一点感受都没有 。那么高可用总有个标准吧,是百分之80就行还是90?一个系统突然不能访问的原因很多:
- 硬件故障
- 数据库宕机
- 磁盘孙欢
- bug
- 光缆断了
通过多少个9来衡量,比如大宝系统可用性为4个9,意味着是99.99%,说明它的服务保证运行时间只有0.01不可用 。高可用涉及到技术成本和设备成本,不是说高可用值越高越好,而是根据具体工具具体场景而定,这里分享一些高可用策略 。
冗余备份
任何一个服务都有备份,就反复我们都会对我们笔记本电脑相关文件进行备份一样,以防万一 。即使一台服务器挂了,可以很快的切换以致于让用户不会觉得"这系统怎么这么渣" 。负载均衡
使用多台服务器分担一台服务器的压力,满足高并发的请求 。怎么实现的呢,应用程序会有一个心跳检测/健康检查机制,如果发现不妥切换即可 。上面提到的数据库主主复制也是高可用的方案之一,技术思想果然是相通的

文章插图
负载均衡
限流降级
我们的目标不是没有蛀牙,而是希望整个系统不要挂掉 。限流是对部分请求进行丢弃处理,保证大部分的用户可以正常的请求完成任务 。降级:
可以屏蔽部分当前看来不是很有用的任务 。比如电商系统做秒杀活动的过程中,确认收货功能给予的压力挺大,暂时看来并不是核心任务,而且系统到期也会自动确认收货,所以暂时关闭,将系统的资源留给准备下单,放购物车的太太们异地多活:
有时候我在想要是地震,火灾等自然灾害发生的时候,很多系统的数据怎么办啊 。想多了撒,大些的系统多会在各个地方部署数据中心,采用异地多活的多机房策略 。用户可以访问任何数据中心,那问题来了,用户的请求是如何到达不同的机房去的?
- 域名解析

文章插图
安全性
公司中的数据财产,其重要程度不言而喻 。系统的健壮性和安全性是保证系统持久运行的基础 。不要因为数据泄露才去关注安全问题 。也许说到安全问题,首先想到的是“用户名密码”泄漏,数据库被脱裤导致数据泄露,hack直接拿到用户的敏感信息,所以我们通常有哪些手段或方法来尽全力的抵抗hack嘞,办法总比问题多嘛 。
- 数据加解密
通过对用户密码,身份证等敏感数据加密是常用方法 。加密方法通常分为:单向散列加密,对称加密和非对称加密 。所谓单向散列加密,主要体现在单向二字,意味着对明文加密后是不可以解密,你即使是给明文加密的加密者,也无法通过密文知道其明文是什么,即加密单向,不支持解密 。说的这么绝对?这么无敌?
那只是理论上而已,常用的MD5算法就是大象散列加密,我们完全可以通过彩虹表等方式进行破解 。怎么破解?
推荐阅读
- 同步与异步Python有何不同?
- 8种ETL调度算法归纳总结,看完这些你就全明白了
- InnoDB的行锁,原来为你做了这么多
- 教你怎样饮茶最健康,饮茶要健康
- 黑茶与普洱迷你配,普洱熟茶与黑茶的区别
- 教你制作银杏叶保健茶,养生保健茶
- 运势|神回复:什么职业可以避免社交啊?最好是什么人都不麻烦你。
- 从qq头像看性格 你的性格如何
- 咳嗽总不好?或许你需要这五个良方
- 几点喝姜茶你知道吗,你知道吗
