-
物联网关键技术:如何实现设备接入
物联网云平台设备接入、规则引擎、实时计算、数据存储都是物联网云平台的关键技术,其中设备接入组件(IoT Hub)是物联网云平台的核心。物联网云平台架构(简化示意图)物联网云平台需要支持多网络多协议设备的接入,关键是解决物联网协议的碎片化问题,IP协议可以有效解决链路层以下的协议多样性,但更多要考虑支持面向各种场景的应用层协议。常见物联网应用层协议物联网常用的应用层数据传输协议包...
-
微服务网关——设计篇
在《微服务网关——需求篇》中,我们讨论了微服务网关的需求,本文将对微服务网关进行设计。考虑到实际情况的差异,这里实际给出的是设计选项,最终设计基于实际场景来确定。网关功能性设计路由一般情况下,服务对外提供的是RESTful接口,所以一般路由模块根据请求的host, url等规则转发到指定的服务。考虑到路由规则需要频繁的修改发布,为了发布的便利性,考虑针对规则实现热发布。有几种实...
-
带你扒一扒 MySQL 的数据在我们磁盘上到底长什么样子
前言在之前《大师,我悟了:为什么 MySQL 索引要用 B+tree ,而且还这么快?》一文中我从索引的各种数据结构和大家聊到了 MySQL 底层索引的数据结构 B+tree 和工作原理。里面多处提到了找数据是在我们电脑的磁盘上找,今天就来说一说 MySQL 中的数据在磁盘上,它到底是如何进行存储的?存储引擎MySQL 中的数据用各种不同的技术存储在文件(或者内存)中,这些不同...
-
浅谈web网站架构演变过程
前言 我们以javaweb为例,来搭建一个简单的电商系统,看看这个系统可以如何一步步演变。 该系统具备的功能:用户模块:用户注册和管理商品模块:商品展示和管理交易模块:创建交易和管理阶段一、单机构建网站 网站的初期,我们经常会在单机上跑我们所有的程序和软件。此时我们使用一个容器,如tomcat、jetty、jboos,然后直接使用JSP/servlet技术,或者使用一些开...
-
Spring @Async 使用
开启异步支持@Configuration @EnableAsync public class SpringAsyncConfig { ... } 默认情况下,@EnableAsync检测Spring的@Async注释和EJB 3.1 javax. EJB .异步;此选项还可用于检测其他用户定义的注释类型。@Async注解使用无返回值@Async public void asyn...
-
消息中间件RocketMQ
RocketMQ的前世今生RocketMQ是一款阿里巴巴开源的消息中间件,在2017年9月份成为Apache的顶级项目,是国内首个互联网中间件在 Apache 上的顶级项目。RocketMQ的起源受到另一款消息中间件Kafka的启发。最初,淘宝内部的交易系统使用了淘宝自主研发的Notify消息中间件,使用Mysql作为消息存储媒介,可完全水平扩容。为了进一步降低成本和提升写入性...