Java后端知识
文章平均质量分 92
polo2044
这个作者很懒,什么都没留下…
展开
-
Docker介绍、安装和使用
一、Linux 容器介绍在介绍Docker前,需要先了解一个概念Linux容器,Linux容器是与系统其它部分隔离开的一系列进程,从另一个镜像运行,并由该镜像提供进程所需的全部文件。容器提供的镜像包含了应用所有依赖项,因此从开发到测试再到生产的整个过程,它都有可移植性和一致性。容器与虚拟化对比虚拟化:是一种资源管理技术,是将计算机的各种实体资源,如服务器、网络、内存及存储等,进行抽象、转换后...原创 2018-10-14 14:07:50 · 195 阅读 · 0 评论 -
微服务框架的介绍
一、什么是微服务微服务并没有一个官方的定义,可以理解为一种架构风格,将一个大型复杂软件应用由一个或多个微服务组成。系统中的各个微服务可被独立部署,各个微服务之间是松耦合的。每个微服务仅关注于完成一件任务并很好地完成该任务。在所有情况下,每个任务代表着一个小的业务能力。以往的应用程序开发中,应用程序都是单体型,在开发和部署上比较方便,但是随着业务的不断增加,开发迭代和性能瓶颈等问题都会增加开发难...原创 2019-07-11 13:31:56 · 47581 阅读 · 4 评论 -
ElasticSearch的简单介绍
一、什么是ElasticSearch在实际项目开发中,每个系统都会存在一个搜索功能,当数据达到很大且搜索要做到一定程度时,维护和扩展度就会越来越高,并且在全文检索的速度上、结果内容的推荐、分析以及统计聚合方面也很难达到预期效果。ElasticSearch正是为了解决这一问题而出现,ElasticSearch能够建立全文索引(把文本中的内容拆分成若干关键词,然后根据关键词创建索引。查询是根据关键...转载 2019-07-01 10:49:33 · 200 阅读 · 0 评论 -
SpringBoot实现文件下载
本文纯属转载,主要是为了方便后续参考和继续使用,转载自博客Spring Boot项目实现下载项目根目录下指定目录(doc)里的文件。代码参考如下:一、接收页面下载的请求,开始下载项目中的文件@RequestMapping("downloadFile") @ResponseBody public void Download(HttpServletResponse response) {...转载 2019-07-04 15:31:45 · 11670 阅读 · 1 评论 -
Redis分布式锁
一、什么是分布式锁在Java的多线程编程中,锁可以看成是多线程情况下访问共享资源的一种线程同步机制。在单个进程中,所有的线程都在同一个JVM进程里,Java语言提供的锁机制可以同步对共享资源的访问。但是在分布式环境下,Java语言提供的锁就无法同步多个不同线程对共享资源的访问了,这个时候就必须借助分布式锁来解决分布式环境下共享资源的同步问题。分布式锁一般有三种实现方式:基于数据库的乐观锁基...原创 2019-07-02 19:32:17 · 316 阅读 · 0 评论 -
Spring Cloud网关Zuul介绍
一、Spring Cloud网关是什么在微服务框架下,单体应用会被切割成多个微服务,如果将所有的微服务直接对外暴露会引发如下类似问题:客户端需求和每个微服务暴露的细粒度API不匹配。部分服务使用的协议不是Web友好协议。可能使用Thrift二进制RPC,也可能使用AMQP消息传递协议。微服务难以重构。如果合并两个服务,或者将一个服务拆分成两个或更多服务,这类重构就非常困难了。对客户端的...原创 2019-06-26 16:01:25 · 273 阅读 · 0 评论 -
Quartz的使用浅析
一、Quartz引入背景假定在业务逻辑中存在一个这样的需求,“每天的午夜12点,进行一次网络请求操作之后,将操作的结果写入数据库中”。针对这一需求,很简单明了的解决方案,在代码中引入一个定时间,定时的时间设置在午夜12点,该问题似乎被完美的解决了。但是如果将Java的Jar包程序进行分布式部署之后,你会发现整个业务逻辑中,进行了多次网络请求,然后写入了多次数据库。此时你就会想到,在整个业务逻辑中...原创 2019-05-31 16:53:30 · 392 阅读 · 0 评论 -
Kubernets学习一(基础概念篇)
一、简言Kubernets是一套开源的dockers容器编排系统,与Kubernets并存的容器编排系统有Docker Swarm、Marathon和Nomad。Kubernets比较核心的特点就是能够自主的管理容器来保证云平台中的容器按照用户的期望运行状态运行。二、框架和基础概念的理解Kubernets架构图参考如下(架构图来源)。从Kubernets的架构图中可以看到,kubernets...转载 2019-01-14 16:41:54 · 340 阅读 · 0 评论 -
Spring-Boot 访问外部接口的几种方案总结
一、简介在Spring-Boot项目开发中,存在着本模块的代码需要访问外面模块接口,或外部url链接的需求,针对这一需求目前存在着三种解决方案,下面将对这三种方案进行整理和说明。二、Spring-Boot项目中访问外部接口2.1 方案一 采用原生的Http请求在代码中采用原生的http请求,代码参考如下:@RequestMapping("/doPostGetJson")public S...转载 2018-12-14 23:10:56 · 50686 阅读 · 4 评论 -
KafKa常用命令总结
Kafka常用操作命令查看当前服务器中所有topic[root]# ./bin/kafka-topics.sh --list --zookeeper 10.240.185.37:2181__consumer_offsetsadvancedtopicbasictopic查看某个Topic的详情[root]# bin/kafka-topics.sh --topic advancedto...原创 2018-12-13 16:39:52 · 227 阅读 · 0 评论 -
Spring Cloud服务发现之Eureka
一、Spring Cloud服务的注册与发现Spring Cloud服务注册和发现可划分为:服务消费者、服务生产者和服务发现组件,三者关系如下:各个微服务在启动时,将自己的网络地址等信息注册到服务发现组件中,服务发现组件会存储这些信息。服务消费者可以从服务发现组件查询服务生产者的网络地址,并使用该地址调用服务生产者的接口。各个微服务与服务发现组件使用一定机制(例如心跳)通信。服务发现组...转载 2018-12-03 17:39:39 · 193 阅读 · 0 评论 -
Spring Cloud服务发现几种方案的比较
一、Spring Cloud服务发现存在的方案Spring Cloud服务发现存在以下几种方案和策略:Consulconsul是google开源的一个使用go语言开发的服务发现、配置管理中心服务。内置了服务注册与发现框架、分布一致性协议实现、健康检查、Key/Value存储、多数据中心方案,不再需要依赖其他工具(比如ZooKeeper等)。服务部署简单,只有一个可运行的二进制的包。每个节点都...转载 2018-12-03 14:05:40 · 3858 阅读 · 0 评论 -
Mesos和Marathon简介和浅析
一、Mesos和Marathon是什么1.1 Mesos是什么Mesos是什么呢,可以用这样一个例子进行说明。假定某公司需要频繁进行大数据计算,该任务运行时需要N多个CPU和内存,为了满足这个需求,有两种方案:1.使用小型服务器,为任务提供足够的资源。2.采用分布计算,即提供一批普通配置的机器,组成集群,将计算任务拆分到各个机器上计算,然后汇总结果。Mesos就是实现这类分布式计算的框架...原创 2018-11-28 14:33:10 · 11772 阅读 · 0 评论 -
JPA 复合主键的增删改查操作
一、JPA和复合主键的简介JPA全称Java Persistence API,是一组用于将数据存入数据库的类和方法的集合。JPA通过JDK5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中。JPA的目标是为了整合第三方ORM框架,建立一套标准的API。目前JPA的提供商包括ORacle,Redhat,Eclipse等,提供的产品包括Hiberate, Eclips...原创 2018-11-29 09:54:50 · 7048 阅读 · 0 评论 -
Prometheus的服务发现之Consul介绍篇一
一、引言Prometheus是一套开源的系统监控报警框架,此前对Prometheus有过介绍Prometheus的介绍与实践,Prometheus会去各个监控节点Pull数据。现在存在一个问题,如何让Prometheus去新增的监控节点Pull数据。二、Prometheus的服务发现机制本博主对Prometheus的服务发现机制亲自进行验证的方式有两种,一种是基于文件的服务发现;一种是基于C...原创 2018-11-13 16:16:33 · 3689 阅读 · 1 评论 -
prometheus的数据类型介绍
一、简介Prometheus将所有采集到的样本数据以时间序列(time-series)的方式保存在内存数据库中,并定时保存在硬盘上。时间序列中的每一个样本由以下三部分组成。指标(metric): metric name和描述当前样本特征的labelsets组成,参考格式如 <metric name>{<label name>=<label value>, ...转载 2018-10-23 11:17:18 · 17970 阅读 · 0 评论 -
Prometheus的介绍与实践
一、Prometheus简介Prometheus是一套开源的系统监控报警框架。Prometheus作为新一代的云原生监控系统,相比传统监控监控系统(Nagios或者Zabbix)拥有如下优点。易管理性Prometheus: Prometheus核心部分只有一个单独的二进制文件,可直接在本地工作,不依赖于分布式存储。Nagios: 需要有专业的人员进行安装,配置和管理,并且过程很复杂。业务...原创 2018-10-15 11:50:03 · 18628 阅读 · 0 评论 -
Prometheus配置过程中出现的bug及解决方案
一、简介Node exporter,Promenade和Alertmanager在安装配置后,Prometheus运行出现的bug,并针对这些bug进行了解决。本博客主要总结这些bug和解决方案,进行记录。Prometheus运行命令参考如下:docker run -p 9090:9090 -v /tmp/prometheus.yml:/etc/prometheus/prometheus.y...原创 2018-10-15 10:42:07 · 14487 阅读 · 1 评论 -
微服务架构SpringCloud技术分解
一、简介Spring Cloud是基于Spring Boot,为微服务体系开发中的架构问题,提供了一整套的解决方案–服务注册与发现、服务消费、服务保护与熔断、网关、分布式调用追踪和分布式配置管理等。二、Spring Cloud 完整技术Spring Cloud的完整技术架构图如下...转载 2019-07-12 14:36:10 · 455 阅读 · 0 评论