我的学习记录,部分资料来自网络
我们选择ZooKeeper作为dubbo的注册中心
Apache ZooKeeper是由集群(节点组)使用的一种服务,用于在自身之间协调,并通过稳健的同步技术维护共享数据。ZooKeeper本身是一个分布式应用程序,为写入分布式应用程序提供服务。
阅读全文
“异步调用”对应的是“同步调用”,同步调用指程序按照定义顺序依次执行,每一行程序都必须等待上一行程序执行完成之后才能执行;异步调用指程序在顺序执行时,不等待异步调用的语句返回结果就执行后面的程序。
在日常业务开发中,我们经常遇到一些需要定时执行的任务,比如定时给用户发短信发邮件,定时检查某个指标或参数是否达标等。
在Spring Boot应用中创建定时任务非常简单。只要以下两步就可以:
本节,我们进一步的了解如何在Spring Boot中使用RabbitMQ。
本节,我们将整合RabbitMQ作为我们项目的消息中间件。暂时我们只做单机配置。
本章源码
这一节,我们将整合redis,并用将session交由redis保存。为之后的集群和分布式开发做准备。
这里介绍redis的单机配置,集群配置之后再说。默认你已安装了redis。
为了之后更好的扩展我们的程序,这节我们将我们的项目拆分出若干个子模块。
先看下我们未拆分前的项目:
@WebFilter
1234567891011121314151617181920
@WebFilter(filterName = "MyFilter1", urlPatterns = "/*")@Slf4jpublic class MyFilter1 implements Filter { @Override public void init(FilterConfig filterConfig) throws ServletException { log.info("MyFilter1 初始化"); } @Override public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException { log.info("MyFilter1 过滤操作"); //操作完必须调用下面这个方法 filterChain.doFilter(servletRequest, servletResponse); } @Override public void destroy() { log.info("MyFilter1 销毁"); }}
123456789101112
<!-- 整合mybatis --><dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>1.3.2</version></dependency><!-- mysql --><dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <scope>runtime</scope></dependency>
我们先不涉及页面的设计,之后的接口都以JSON格式返回数据。那么,我们需要建一个响应数据实体类,统一请求返回的数据格式。