Redis编程实践【pipeline和事务】

Redis,redis管道,redis pipeline,redis事务...
阅读(19) 评论(0)

zuul微服务网关的常用示例

微服务架构体系中,通常一个业务系统会有很多的微服务,比如:OrderService、ProductService、UserService...,为了让调用更简单,一般会在这些服务前端再封装一层,类似下面这样:前面这一层俗称为“网关层”,其存在意义在于,将"1对N"问题 转换成了"1对1”问题,同时在请求到达真正的微服务之前,可以做一些预处理,比如:来源合法性检测,权限校验,反爬虫之类...传统方式...
阅读(73) 评论(0)

zuul设置熔断、断路器

在前面一篇文章中http://blog.csdn.net/tianyaleixiaowu/article/details/77884778,已经讲过了独立使用zuul进行反向代理了。在那篇文章中,没有使用eureka进行服务发现,而是使用简单的url配置,直接将用户请求发送到指定的url。这种做法适合于兼容一些老系统或者无法进行eureka服务注册的项目中,当时有一个东西没有提到,那就是熔断器。我...
阅读(95) 评论(0)

ElasticsearchTemplate的详细使用,完成多条件查询、匹配度查询等

ElasticsearchTemplate是Spring对ES的java api进行的封装,提供了大量的相关的类来完成各种各样的查询。该篇主要是讲ElasticsearchTemplate的详细使用方法,条件查询、模糊查询等...
阅读(82) 评论(2)

zuul动态配置路由规则,从DB读取

前面已经讲过zuul在application.yml里配置路由规则,将用户请求分发至不同微服务的例子。zuul作为一个网关,是用户请求的入口,担当鉴权、转发的重任,理应保持高可用性和具备动态配置的能力。我画了一个实际中可能使用的配置框架,如图。当用户发起请求后,首先通过并发能力强、能承担更多用户请求的负载均衡器进行第一步的负载均衡,将大量的请求分发至多个网关服务。这是分布式的第一步。如果是使用do...
阅读(148) 评论(0)

Jpa配置实体类创建时间更新时间自动赋值,@CreateDate,@LastModifiedDate

操作数据库映射实体类时,通常需要记录createTime和updateTime,如果每个对象新增或修改去都去手工操作创建时间、更新时间,会显得比较繁琐。Springboot jpa提供了自动填充这两个字段的功能,简单配置一下即可。@CreatedDate、@LastModifiedDate、@CreatedBy、@LastModifiedBy前两个注解就是起这个作用的,后两个是设置修改人和创建人的...
阅读(49) 评论(0)

zuul网关Filter处理流程及异常处理

上一篇介绍了java网关Zuul的简单使用,进行请求路由转发和过滤器的基本操作。这一篇主要看一下它的过滤器Filter的工作流程及异常处理。首先看到Filter的四个方法,FilterType,filterOrder,shouldFilter,run。filterType代表过滤类型PRE: 该类型的filters在Request routing到源web-service之前执行。用来实现Auth...
阅读(284) 评论(0)

独立使用zuul网关分发不同服务的请求、权限控制,非SpringCloud

网关api Gateway的重要性不言而喻,网关负责统一接收所有请求,然后根据不同的规则进行转发到不同的服务。使用网关能够统一的管理请求日志、进行权限控制、过滤等,这样就能避免在每个单体应用中做重复的工作。这一篇主要是讲zuul的独立使用,就是只作为一个独立的项目进行请求转发,而不关联SpringCloud的那一堆Eureka、Ribbon等,因为很多时候我们的项目并不都是基于springclou...
阅读(208) 评论(0)

SpringBoot拦截全局异常并发送邮件给指定邮箱

主要是看一下Springboot中发送邮件的方法,至于拦截Springboot全局异常之前的文章中有。一 发送邮件在Springboot中发送邮件非常简单。pom.xml引入maven依赖 org.springframework.boot spring-boot-starter-mail 在application.yml里设置发信人的账号、密码spring: mail: ...
阅读(326) 评论(0)

关于处理某一个事件需要关联多个事件或表的情况下,一些思考

这个场景是非常常见,毕竟纯粹的单表的CRUD比较少,大部分时候都是操作了某个表、某个业务,然后需要多个表进行更改。譬如社交信息流类的,我发了一篇帖子,首先UserPost表需要添加一条数据,然后可能需要给关注我的人的信息流里也插一条数据,再做一些推送类的事件等等可能要很多步骤。像电商类的下单之类的操作关联的表就更多了。这里必然会涉及的问题就是业务代码耦合,总不能我添加了一篇帖子,然后就在帖子保存之...
阅读(105) 评论(0)

Springboot项目使用aop切面保存详细日志到ELK日志平台

上一篇讲过了将Springboot项目中logback日志插入到ELK日志平台,它只是个示例。这一篇来看一下实际使用中,我们应该怎样通过aop切面,拦截所有请求日志插入到ELK日志系统。同时,由于往往我们有很多个服务,都需要记录日志,为每个服务都搭建一个ELK并不现实,所以我们采用集中化管理日志,将所有日志都插到同一个ELK中。这样又会遇到另一个问题,就是ES中的Index如果只有一个,那么所有日...
阅读(215) 评论(0)

Java实现哈夫曼编码和解码

最近无意中想到关于api返回值加密的问题,譬如我们的api需要返回一些比较敏感或者重要不想让截获者得到的信息,像如果是做原创图文的,文章明文返回的话则有可能被抓包者窃取。关于请求时加密的方式比较多,像常见的如阿里某api就是根据所有参数ascii码升序排序并加盐加密,这样能避免黑客篡改请求值。那关于返回值加密的,我觉得用哈夫曼编码就不错。大家都知道哈夫曼是用来做压缩解压的算法,通过哈夫曼压缩后的数...
阅读(137) 评论(0)

Springboot项目搭配ELK日志平台

Springboot整合ELK日志平台,logback日志输出到logstash...
阅读(181) 评论(0)

使用kibana来进行ElasticSearch的信息查询检索

大家经常会听到使用ELK搭建日志管理平台、完成日志聚合检索的功能,那么这个平台到底是个什么概念,怎么搭建,怎么使用呢?ELK包括ElasticSearch(数据存储、快速查询)、logstash(日志搜集)、kibana(展示ElasticSearch数据的图形界面)。kibana是一个图形界面,可以在上面条件检索存储在ElasticSearch里数据,相当于提供了ES的可视化操作管理器。大概长下...
阅读(917) 评论(0)

使用DaoCloud持续构建docker镜像,自动化部署

我们学会了在主机上安装部署docker,也学会了构建自己的docker镜像和容器,启停也都会用了,下一步就需要持续构建发布docker的技能了。我们希望能在代码提交后,有个远程服务能自动开始构建项目、拉取相应的镜像,执行对应的Dockerfile命令,最终给我们生成一个可以直接启动的contrainer容器,之后我们就可以将该容器发布到任何主机了。现在有一些第三方的docker管理平台能提供上面的...
阅读(265) 评论(0)
97条 共7页1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:145538次
    • 积分:2171
    • 等级:
    • 排名:第18282名
    • 原创:74篇
    • 转载:23篇
    • 译文:0篇
    • 评论:45条
    博客专栏
    最新评论