0

springcloud实践二:gateway网关详解

微服务框架当前大行其道,网关在微服务架构中是一个非常重要的部分,网关一般作为项目的统一请求入口提供给前端开发人员,前端开发人员不用知道每个微服务的请求地址。网关可以统一对所有请求做过滤、限流、负载均衡、监控等处理,而不必在每个微服务项目重复处理请求。网关配合注册中心也可以很好的实现微服务的动态扩容,只需要在网关将请求路由转发到注册中心的微服务上即可,由注册中心进行负载均衡处理。Spring Cloud Gateway旨在提供一种简单而有效的方法来路由到api,并为它们提供额外功能,例如:安全性、监控和弹性控制。Spring Cloud Gateway基于Spring Boot 2.x, Spr...

阅读全文>>

0

低带宽环境下的物联网传输协议——MQTT

MQTT是什么MQTT由IBM公司开发,是一个即时通讯协议,也是一个物联网传输协议,主要用于轻量级的订阅/发布式的消息传输。其设计目的主要是为低带宽和不稳定网络环境下的物联网设备提供服务。MQTT中的概念订阅(Subscribtion): 订阅包含主题筛选器(Topic Filter)和最大服务质量(QoS)。订阅会与一个会话(Session)关联。一个会话可以包含多个订阅。每一个会话中的每个订阅都有一个不同的主题筛选器会话(Session): 每个客户端与服务器建立连接后就是一个会话,客户端和服务器之间有状态交互。会话存在于一个网络之间,也可能在客户端和服务器之间跨越多个连续的网络连接。主题...

阅读全文>>

0

实践:把Springboot项目配置迁移至 Apollo 配置管理中心

导读:由于配置日益增多不方便管理且期望配置修改实时生效,因此笔者决定部署一个配置中心,经过分析对比之后决定采用携程开源的 Apollo 配置管理中心。本文分享笔者基于 Apollo 提供 quick start 搭建服务端,并将一个多环境配置的 Springboot 项目迁移至 Apollo 的实践,希望对各位熟悉 Apollo 有所帮助。本地部署 Apollo为了方便用户体验,其官方文档提供了一个 quick start 部署 Apollo 的方案。具体部署可参考官方文档。其主要步骤如下:创建 ApolloPortalDB创建 ApolloConfigDB修改 demo.sh 数据库信息启动...

阅读全文>>

0

如何搭建WebRTC信令服务器

1.WebRTC后台服务:通话的房间服务器(Room Server)房间服务器是用来创建和管理通话会话的状态维护,是双方通话还是多方通话,加入与离开房间等等,我们暂时沿用Google部署在GAE平台上的AppRTC这个房间服务器实现,该GAE App的源码可以在github.com上获取.该实现是一个基于Python的GAE应用,我们需要下载Google GAE的离线开发包到我们自己的Linux服务器上来运行该项目,搭建大陆互联网环境下的房间服务器.通话的信令服务器(Signaling Server)信令服务器是用来管理和协助通话终端建立去中心的点对点通话的一个角色。这个角色要负责一下任务:1...

阅读全文>>

0

BPM引擎Activiti6.0任务撤回实现方法

当前使用的BPM引擎为Activiti6.0,客户需求是流程发起人能将整个流程撤销,对于某个流程节点,办理人可以撤回已经办理的任务,同时前提是该任务节点的下个节点未被办理。1、流程撤销首先说下发起人对整个流程的撤销,直接删除流程,传入流程实例ID,结束一个流程。执行此方法后,流程实例的当前任务act_ru_task会被删除,流程历史act_hi_taskinst不会被删除,并且流程历史的状态置为finished完成。runtimeService.deleteProcessInstance(instanceId, deleteReason);2、任务撤回已执行任务的撤回操作相对来说复杂些,这里先...

阅读全文>>

0

SpringBoot数据源配置原理

在数据库访问过程中,“数据源”无疑是最重要的概念之一,它不仅可以对与数据库访问相关的各种参数进行封装和统一管理,还可以管理数据库连接池,提高数据库连接性能。目前,在市面上有很多优秀的开源数据源,例如DBCP、C3P0、Druid、HikariCP等等。在SpringBoot2.x中,则采用目前性能最佳的HikariCP作为其默认数据源。接下来,我们就来具体介绍下SpringBoot的默认数据源配置及其原理。DataSourceAutoConfiguration我们知道,SpringBoot中几乎所有的默认配置都是通过配置类XxxAutoConfiguration进行配置的,SpringBoot...

阅读全文>>

0

SpringBoot的核心注解

前言springboot的核心就是注解。springboot通过各种组合注解,极大地简化了spring项目的搭建和开发。在springboot中有一些注解是其中的关键,必须掌握。@Configuration@Configuration并不是一个新的注解,在Spring3.0时已经存在了。@Configuration用于定义配置类,可替换xml配置文件,被注解的类内部包含有一个或多个被@Bean注解的方法,这些方法将会被AnnotationConfigApplicationContext或AnnotationConfigWebApplicationContext类进行扫描,并用于构建bean定义...

阅读全文>>

0

Spring Security 两种资源放行策略,千万别用错了

事情的起因是这样,有小伙伴在微信上问了一个问题:就是他使用 Spring Security 做用户登录,等成功后,结果无法获取到登录用户信息,松哥之前写过相关的文章(奇怪,Spring Security 登录成功后总是获取不到登录用户信息?),但是他似乎没有看懂。考虑到这是一个非常常见的问题,因此我想今天换个角度再来和大伙聊一聊这个话题。Spring Security 中,到底该怎么样给资源额外放行?1.两种思路在 Spring Security 中,有一个资源,如果你希望用户不用登录就能访问,那么一般来说,你有两种配置策略:第一种就是在 configure(WebSecurity web) ...

阅读全文>>

0

浅谈SpringBoot自动装配

说在前面我们都知道Ioc和AOP是Spring的两大核心特性,而近年来随着SpringBoot的越来越“智能”化,开发人员使用SpringBoot的也越来越多,那SpringBoot帮我们做了什么,又有哪些特性呢?SpringBoot的特性创建独立的Spring应用;直接嵌入Tomcat、Jetty或Undertow等Web容器(不需要部署WAR文件);提供固化的“starter”依赖,简化构建配置;当条件满足时自动装配Spring或第三方类库;提供运维特性,如指标信息(Metrics)、健康检查及外部化配置;绝无代码生成,并且不需要XML配置;接下来,浅谈一下SpringBoot的自动装配特...

阅读全文>>

1

微信8.0.6更新成功!加好友需要权限?还有12个新发现

就在昨天,iOS微信又迎来了8.0.6版本更新,这次更新的内容非常多,加好友需要权限,还有12个新发现,下面一起来了解一下吧。01*微信状态新增备注我发现的第一个变化就是,在设置微信状态的时候,在「我的状态」下方,新增了一行备注,提示:“24小时内有效”。微信状态设置好后,点击修改状态界面,在「结束状态」下方,也标注着“24小时内有效”。02*朋友验证界面优化微信添加好友时,通过朋友验证界面也进行了优化,在上一个版本中会有标签展现,在新版本中被折叠了,如果你的好友太多,朋友权限也成了必选项!03*转账说明字数增加给好友转账的时候,可以添加转账说明,在以前的版本中,最多只能添加10个字,现在增加...

阅读全文>>