还记得人们的吸尘器和门铃因为AWS的一个区域发生故障而停止工作吗?这不会发生在使用我们的智能家居产品的人身上。
在 "智能技术 "为 "智能家居 "铺平道路之前,Levven已经在电子制造行业工作了几十年。当这种情况发生时,我们看到了一个机会,即通过设计和制造智能家居控制装置,降低建造成本,帮助使家庭更加经济实惠。通过消除墙壁开关和灯之间的电线,我们可以为消费者提供更环保的家居建筑,节省宝贵的资源。
在Levven,我们在5年前就增加了智能家居控制的制造 - 但我们的云连接是新的。Levven的目标是通过智能控制使大众更容易负担得起住宅的建造、购买和运营。为了做到这一点,我们需要建立规模化、低维护的基础设施,以保持最终用户的成本低,同时也保证我们的智能家居控制将永远工作。
为了帮助我们解决这一物联网挑战,我们选择了CockroachDB的管理服务产品。CockroachCloud。在这篇博客中,我们将解释我们如何建立物联网应用架构,使智能设备始终保持可用。
为什么Levven选择CockroachCloud
我们Levven的目标是让大众都能负担得起智能家居技术。我们通过保持尽可能小的基础设施开销来实现这一目标。
我们对数据库的要求很简单。
- 该数据库应该使用SQL语言
- 数据库应该可以横向扩展
- 数据库应该是高度可用的
- 数据库应具有成本效益
这些要求很快就排除了Oracle(价格/规模问题)、Postgres(规模)和MongoDB(我不想在有出色的关系型解决方案的情况下立即跳到NoSQL解决方案)。不过,我们确实花了一些时间考虑Cassandra。但是,管理集群和机器的复杂性会给我们增加太多的运营开销。因为我们是一个小团队,目标是降低每个客户的成本,缺乏人工操作是我们需要有效花费的领域。
我们对CockroachDB在规模和可用性方面的表现很感兴趣。他们提供了CockroachDB的自助管理版本(CockroachCloud),这对我们有极大的帮助。但当我读到他们的主动-主动可用性时,我才确定我们会使用CockroachCloud。那是我的圣杯!看到有人能很好地解决这个问题,我感到很兴奋。
物联网智能控制用例技术栈
现在,我们正处于发展我们业务这一方面的初始阶段。安装基础正在稳步增长,通过简单的技术栈,我们可以提供可靠的强大服务。我们使用一些AWS解决方案来支持我们的iOS和Android应用程序,我们使用CockroachCloud来管理和存储数据。
两种类型的智能控制数据
基本上有两种不同的数据被存储在CockroachCloud上。实时操作信息和元数据。对我们来说,操作数据保持系统的运行,并允许用户个性化他们的家,体验和控制所有连接的电力负载。利用元数据,如一个电灯开关被按了多少次,或者一个房间的温度是多少,以及电池的电压是多少,使我们能够提供更先进的控制和节能功能。
当互联网中断时,Levven的智能控制如何工作
在我们的行业中,有两条不同的数据路径。一个路径取决于互联网连接,另一个路径取决于无线电频率(RF)。我们选择射频是因为我们想构建一个系统,即使互联网不工作,我们的智能家居控制仍然可以工作。
为什么当AWS地区停电时,每个人的Roomba都停止工作?
Roomba停止工作是因为Roomba(以及其他许多智能电子产品公司)选择了另一条道路--即一直依赖互联网连接的道路。
这里是Levven架构的高级图。Levven云 "包含了很多细节,比如我们的负载平衡器、扩展组等等--但是,为了这篇博客的目的,我们选择了不去讨论所有这些细节。
一个电灯开关和负载控制器是不连接互联网的。它们是通过900兆赫的射频网络连接的。网关是连接控制与云和移动应用程序访问的桥梁。它监听无线电通信并将其发送到Levven的服务器。这就是应用程序连接到家庭并可以执行操作的地方。这里需要注意的是,即使没有互联网,你所有的家庭控制将继续智能地运作。因此,如果一个地区出现故障,电灯开关将继续工作。
蟑螂云的惊奇之处。DB-Console
蟑螂云的两个最好的地方是,你不必担心,因为它是一个管理服务,而且它很容易扩展,所以你知道你可以增加机器来解决使用问题。
但除了这些明显的好处之外,我们还对DB-控制台的外观和我能从中获得多少信息感到惊喜。那里有很多调试信息,不用我做什么就可以运行。我用它来确保我们保持我们的p99延迟。
下一步是什么?用CockroachCloud进行分析和扩展
我们知道,我们可以要求一个时间序列数据库来运行我们的分析,但我们要要求CockroachCloud来做这件事。我们知道,这不是CockroachDB的优先使用案例。但是他们完全有能力运行我们需要的东西(尤其是在 最新的20.2版本中对基于成本的优化器和矢量执行进行了改进)。对我们来说,仅仅为了运行一些简单的分析工作负载而增加一个数据库的时间、成本和复杂性是不值得的。
这只是我们进入智能家居行业的开始。我们的目的是与北美的所有主要建筑商建立关系,并将我们的用户扩大到整个大陆。现在,我们不需要多地区的配置。但预计这将很快发生,我们已经准备好了,因为CockroachCloud。