认识微服务

作者: 新亮笔记 | 来源:发表于2017-01-08 15:20 被阅读87次

什么是微服务?

微服务是一种架构风格。

它可以通过强壮的模块边界和独立部署,来帮助你快速的扩展开发团队。

其实微服务本身不是什么新技术,只是随着业务的不断发展,对业务不断分层,不断拆分。

它被业界公认为云计算时代互联网应用的主要构建方式,是每一位技术人员必须面对的主题。

为什么要使用微服务?

(1)比如,公司的不同业务都会有不同管理后台,每个后台都有登录、注册、权限管理、日志管理等模块。

这些模块在不同系统中基本上都是类似的,无需每次都拷贝代码。

So,开发一个微服务,管理基础模块。

(2)比如,随着业务的并发性越来越高,访问DB数量过大,需要考虑引入缓存层。

由于没有统一缓存服务,各个业务线都自己开发自己的缓存层。

大家都做着重复工作,稍有不慎可能缓存KEY产生冲突,造成数据混乱。

So,开发一个微服务,管理缓存层。

(3)比如,各个业务线操作数据库可直接进行拼接SQL查询。

那么经验少一些的开发工程师,写了一个低效率的SQL。

导致全表扫描直接卡死,直接影响到其他业务线系统的可用性。

DBA不好定位SQL是那个业务组,每次SQL调优都需要问候全部业务组。

So,开发一个微服务,实现数据调取层。

(4)...

应用场景还有很多...

大家可以根据各自业务进行服务拆分。

开发微服务应该考虑那些?

(1)衡量是否需要进行使用微服务?

微服务并不适合每个人,由于技术人员少或者项目并不多的情况下,就不需开发微服务。

(2)考虑服务到达怎么的独立程度?

微服务到底需要多微小,这个是根据自己的业务情况而定,没有统一标准。

微服务并不是越微越好!!!

设计原则:是给自己提供便利,而不是自己给自己挖坑。

(3)是否对微服务进行实时监控?

随着业务的越来越多,并发量,访问量,存储量 等等越来越大的时候。

需要考虑对微服务进行实时监控,考虑是否需要扩容,性能调优等等。

(4)微服务如何进行测试?

微服务使用的业务部门比较多,当新的业务部门使用时,如何便于测试?

在测试的过程中,遇到问题如何在不影响其他业务的同时进行修复?

实际事情实际考虑,最好能提供测试用例。

(5)微服务如何进行治理?

随着项目的微服务越来越多,类似于“盘丝洞”的服务应该如何治理?

具体问题,具体分析吧,我这也没具体思路,欢迎大家讨论。

微服务的调用方式?

HTTP接口 或 RPC。

这两种方式可以都试用下,具体那种更合适自己就选那种。

至于这两种方式有什么区别,我担心我解释完了大家更疑惑。

我个人推荐用 RPC(远程过程调用协议)。

RPC 就像调用本地方法一样,对调用者来说使用更方便。

RPC 开源框架很多,可以根据自己的开发语言进行选择适合自己的。

PHP 常见的RPC框架: phprpc、yar、thrift、gRPC、swoole、hprose。

备注

本文仅仅是抛砖引玉,具体在实现的过程中,还有遇到很多问题。

欢迎大家进行讨论 (留言、私信均可)~


Thanks ~

相关文章

  • 认识微服务

    缘起## 在很多微服务架构的例子中强调了很多单体应用的场景。主要是因为在实际中一个应用系统里面的模块没有办法做到彻...

  • 认识微服务

    什么是微服务? 微服务是一种架构风格。 它可以通过强壮的模块边界和独立部署,来帮助你快速的扩展开发团队。 其实微服...

  • 认识微交互

    1、什么是微交互? 交流回馈或者动作的结果回馈 调完静音之中有震动的反馈,之后屏幕出现静音icon。 2、为什么使...

  • 【语法微课】详解45句,手把手带你分析英语句子成分

    付费用户获得关于本文内容的答疑服务,答疑微信/QQ:1816863528。 目录 一、认识句子成分二、阐明几个问题...

  • 认识系统服务(daemon)

    系统为了某些功能必须提供一些服务, 这个服务就叫做service service的提供总需要进程的运行, 实现这个...

  • 菜鸟带你看传说中的微信开发!

    1.微信开发原理微信客户端->微信服务器->开发绑定的服务器。微信开发步骤: 2.微信验证服务器原理(验证服务器的...

  • 胡健豪:如何运营微信矩阵

    微信矩阵是怎么回事,其实就是1个微信服务号+N个微信订阅号。微信服务号和订阅号的差别在于,服务号提供公司服务,订阅...

  • zabbix微信 | 微信对接自己服务器(2)

    上接使用微信告警 企业号微信对接自己服务器 1.本地服务器与微信服务器的信任 本地具有独立外网ip服务器获取微信服...

  • 微服务的微

    微服务的微,是指服务粒度的微么? 微服务可能是由此得名的。但在微服务架构思想中,服务粒度的微,不应该放在首要强调的...

  • 微信服务

    1.微信sdk 样例 http://demo.open.weixin.qq.com/jssdk/

网友评论

    本文标题:认识微服务

    本文链接:https://www.haomeiwen.com/subject/ncwqbttx.html