micro service
微服务的核心是服务治理,而服务治理的关键是服务划分。故微服务架构的本质就是对码农的分化和治理。微服务对于互联网产业的意义就像流水线标准化生产模式对于制造业一样具有革命性。福特汽车发明流水线标准化生产模式改变了制造业工程师和工人的治理模式及责任划分,使组织大规模成批量工业生产更为简单。而微服务架构也可以使大型互联网公司更容易建设面对海量用户的互联网服务系统。因此微服务架构是让互联网产业模式逐渐靠向传统制造业的标志。
一文详解微服务架构 - 古霜卡比 - 博客园(https://www.cnblogs.com/skabyy/p/11396571.html)
跟微服务相对的是单体应用,即将所有功能都打包成在一个独立单元的应用程序。从单体应用到微服务并不是一蹴而就的,这是一个逐渐演变的过程。
Dapper
Dapper,大规模分布式系统的跟踪系统 by bigbully(http://bigbully.github.io/Dapper-translation/)
Dapper,大规模分布式系统的跟踪系统 by bigbully(https://www.icedog.top/books/google-dapper/index.html)
当代的互联网的服务,通常都是用复杂的、大规模分布式集群来实现的。互联网应用构建在不同的软件模块集上,这些软件模块,有可能是由不同的团队开发、可能使用不同的编程语言来实现、有可能布在了几千台服务器,横跨多个不同的数据中心。因此,就需要一些可以帮助理解系统行为、用于分析性能问题的工具。
Dapper--Google生产环境下的分布式跟踪系统,应运而生。那么我们就来介绍一个大规模集群的跟踪系统,它是如何满足一个低损耗、应用透明的、大范围部署这三个需求的。当然Dapper设计之初,参考了一些其他分布式系统的理念,尤其是Magpie和X-Trace,但是我们之所以能成功应用在生产环境上,还需要一些画龙点睛之笔,例如采样率的使用以及把代码植入限制在一小部分公共库的改造上。
自从Dapper发展成为一流的监控系统之后,给其他应用的开发者和运维团队帮了大忙,所以我们今天才发表这篇论文,来汇报一下这两年来,Dapper是怎么构建和部署的。Dapper最初只是作为一个自给自足的监控工具起步的,但最终进化成一个监控平台,这个监控平台促生出多种多样的监控工具,有些甚至已经不是由Dapper团队开发的了。下面我们会介绍一些使用Dapper搭建的分析工具,分享一下这些工具在google内部使用的统计数据,展现一些使用场景,最后会讨论一下我们迄今为止从Dapper收获了些什么。
Pattern: Service Mesh
模式:服务网格
Since their first introduction many decades ago, we learnt that distributed systems enable use cases we couldn’t even think about before them, but they also introduce all sorts of new issues.
自从几十年前首次推出分布式系统以来,我们了解到分布式系统支持我们之前甚至无法考虑的用例,但它们也引入了各种新问题。
When these systems were rare and simple, engineers dealt with the added complexity by minimising the number of remote interactions. The safest way to handle distribution has been to avoid it as much as possible, even if that meant duplicated logic and data across various systems.
当这些系统既稀有又简单时,工程师们通过最大限度地减少远程交互的数量来应对增加的复杂性。处理分发的最安全方法是尽可能避免它,即使这意味着跨各种系统重复的 logic 和 data。
But our needs as an industry pushed us even further, from a few larger central computers to hundreds and thousands of small services. In this new world, we’ve had to start taking our head out of the sand and tackling the new challenges and open questions, first with ad-hoc solutions done in a case-by-case manner and subsequently with something more sophisticated. As we find out more about the problem domain and design better solutions, we start crystallising some of the most common needs into patterns, libraries, and eventually platforms.
但是,作为一个行业,我们的需求将我们推得更远,从几台较大的中央计算机到成百上千的小型服务。在这个新世界里,我们不得不开始从沙子里走出来,应对新的挑战和悬而未决的问题,首先以逐案的方式完成临时解决方案,然后是更复杂的解决方案。随着我们对问题域的了解越来越多,并设计出更好的解决方案,我们开始将一些最常见的需求具体化为模式、库,并最终形成平台。
Istio
Istio(https://istio.io/)
Istio(https://istio.io/latest/zh/)
Istio 是什么?
Istio 扩展了 Kubernetes,以建立可编程、应用程序感知的网络。Istio 可与 Kubernetes 和传统工作负载配合使用,为复杂的部署带来标准、通用的流量管理、可观测和安全性。
选择所需的功能,Istio 会根据需要部署代理基础设施。使用零信任隧道实现四层性能和安全性,或添加强大的 Envoy 服务代理实现七层功能。
zabbix
Zabbix 3.0 从入门到精通(zabbix使用详解) - 惨绿少年 - 博客园(https://www.cnblogs.com/clsn/p/7885990.html)
Zabbix 是由 Alexei Vladishev 开发的一种网络监视、管理系统,基于 Server-Client 架构。可用于监视各种网络服务、服务器和网络机器等状态。
使用各种 Database-end 如 MySQL, PostgreSQL, SQLite, Oracle 或 IBM DB2 储存资料。Server 端基于 C语言、Web 管理端 frontend 则是基于 PHP 所制作的。Zabbix 可以使用多种方式监视。可以只使用 Simple Check 不需要安装 Client 端,亦可基于 SMTP 或 HTTP ... 各种协定做死活监视。
在客户端如 UNIX, Windows 中安装 Zabbix Agent 之后,可监视 CPU Load、网络使用状况、硬盘容量等各种状态。而就算没有安装 Agent 在监视对象中,Zabbix 也可以经由 SNMP、TCP、ICMP、利用 IPMI、SSH、telnet 对目标进行监视。
另外,Zabbix 包含 XMPP 等各种 Item 警示功能。
Prometheus
Prometheus - Monitoring system & time series database(https://prometheus.io/)
prometheus/prometheus: The Prometheus monitoring system and time series database.(https://github.com/prometheus/prometheus)
Prometheus, a Cloud Native Computing Foundation project, is a systems and service monitoring system. It collects metrics from configured targets at given intervals, evaluates rule expressions, displays the results, and can trigger alerts when specified conditions are observed.
Prometheus 是 Cloud Native Computing Foundation 的一个项目,是一个系统和服务监控系统。它以给定的时间间隔从配置的目标中收集指标,评估规则表达式,显示结果,并可以在观察到指定条件时触发警报。
- MySql Exporter
- Redis Exporter
Grafana
Grafana | 查询、可视化、警报观测平台(https://grafana.com/zh-cn/grafana/?tab=revenue)
全面定制面板。观察所有数据。
查询、可视化和理解数据,并获取数据警报,无论数据存储在何处。在 Grafana,您可以通过美观、灵活的数据面板创建、探索和共享所有数据。
发表评论