{"id":9434,"date":"2023-09-21T18:10:33","date_gmt":"2023-09-21T21:10:33","guid":{"rendered":"https:\/\/www.fernandoquadro.com.br\/html\/?p=9434"},"modified":"2023-09-21T18:10:33","modified_gmt":"2023-09-21T21:10:33","slug":"cloud-native-geoserver","status":"publish","type":"post","link":"https:\/\/www.fernandoquadro.com.br\/html\/2023\/09\/21\/cloud-native-geoserver\/","title":{"rendered":"Cloud Native GeoServer"},"content":{"rendered":"<p><a href=\"https:\/\/github.com\/geoserver\/geoserver-cloud\" rel=\"noopener\" target=\"_blank\">Cloud Native GeoServer<\/a> \u00e9 um <a href=\"http:\/\/geoserver.org\/\" rel=\"noopener\" target=\"_blank\">GeoServer <\/a>pronto para uso na nuvem por meio de microsservi\u00e7os dockerizados.<\/p>\n<p>Este projeto \u00e9 um esfor\u00e7o para dividir os servi\u00e7os geoespaciais e a API do GeoServer como componentes individualmente implement\u00e1veis de uma <a href=\"https:\/\/microservices.io\/\" rel=\"noopener\" target=\"_blank\">arquitetura baseada em microsservi\u00e7os<\/a>.<\/p>\n<p>Como tal, ele se baseia nos componentes de software existentes do GeoServer, adaptando-os e\/ou estendendo-os na tentativa de alcan\u00e7ar a decomposi\u00e7\u00e3o funcional por capacidade de neg\u00f3cios; o que significa que cada servi\u00e7o OWS (OGC Web Services), a UI (User Interface) da Web, a API REST e provavelmente outros componentes, como o subsistema de cat\u00e1logo e configura\u00e7\u00e3o, tornam-se microsservi\u00e7os independentes, implant\u00e1veis individualmente e escal\u00e1veis.<\/p>\n<p><center><div style=\"width: 640px;\" class=\"wp-video\"><video class=\"wp-video-shortcode\" id=\"video-9434-1\" width=\"640\" height=\"360\" preload=\"metadata\" controls=\"controls\"><source type=\"video\/mp4\" src=\"https:\/\/user-images.githubusercontent.com\/207423\/144188466-54a1695f-129e-44c2-b6d6-09bf34b96f84.mp4?_=1\" \/><a href=\"https:\/\/user-images.githubusercontent.com\/207423\/144188466-54a1695f-129e-44c2-b6d6-09bf34b96f84.mp4\">https:\/\/user-images.githubusercontent.com\/207423\/144188466-54a1695f-129e-44c2-b6d6-09bf34b96f84.mp4<\/a><\/video><\/div><\/center><\/p>\n<p>\nIsso significa que o arquivo .war do GeoServer \u00e9 implantado v\u00e1rias vezes, com cada inst\u00e2ncia expondo uma determinada \u201ccapacidade de neg\u00f3cios\u201d? <\/p>\n<p>ABSOLUTAMENTE N\u00c3O. Cada microsservi\u00e7o \u00e9 seu pr\u00f3prio aplicativo independente, incluindo apenas as depend\u00eancias do GeoServer necess\u00e1rias. Al\u00e9m disso, foi tomado cuidado para que, quando uma depend\u00eancia tiver componentes obrigat\u00f3rios e n\u00e3o obrigat\u00f3rios, apenas os necess\u00e1rios sejam carregados.<\/p>\n<div id=\"attachment_9435\" style=\"width: 811px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-9435\" src=\"https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2023\/09\/geoserver_arquitetura.png\" alt=\"\" width=\"801\" height=\"717\" class=\"size-full wp-image-9435\" srcset=\"https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2023\/09\/geoserver_arquitetura.png 801w, https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2023\/09\/geoserver_arquitetura-300x269.png 300w, https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2023\/09\/geoserver_arquitetura-768x687.png 768w, https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2023\/09\/geoserver_arquitetura-600x537.png 600w\" sizes=\"auto, (max-width: 801px) 100vw, 801px\" \/><p id=\"caption-attachment-9435\" class=\"wp-caption-text\">Arquitetura do Cloud Native GeoServer<\/p><\/div>\n<p>Como o GeoServer \u00e9 um aplicativo servlet monol\u00edtico tradicional baseado no <a href=\"https:\/\/spring.io\/\" rel=\"noopener\" target=\"_blank\">Spring Framework<\/a>, uma escolha l\u00f3gica foi feita para basear os microsservi\u00e7os derivados do GeoServer na estrutura <a href=\"https:\/\/spring.io\/projects\/spring-boot\" rel=\"noopener\" target=\"_blank\">Spring Boot<\/a>.<\/p>\n<p>Al\u00e9m disso, a tecnologia <a href=\"https:\/\/spring.io\/projects\/spring-cloud\" rel=\"noopener\" target=\"_blank\">Spring Cloud<\/a> permite recursos cruciais, como <a href=\"https:\/\/spring.io\/projects\/spring-cloud-netflix\" rel=\"noopener\" target=\"_blank\">descoberta din\u00e2mica de servi\u00e7os<\/a>, <a href=\"https:\/\/spring.io\/projects\/spring-cloud-bus\" rel=\"noopener\" target=\"_blank\">configura\u00e7\u00e3o externalizada<\/a>, <a href=\"https:\/\/spring.io\/projects\/spring-cloud-bus\" rel=\"noopener\" target=\"_blank\">eventos distribu\u00eddos<\/a>, <a href=\"https:\/\/spring.io\/projects\/spring-cloud-gateway\" rel=\"noopener\" target=\"_blank\">gateway de API<\/a> e muito mais.<\/p>\n<p>Apenas uma lista selecionada da <a href=\"http:\/\/geoserver.org\/release\/stable\/\" rel=\"noopener\" target=\"_blank\">vasta quantidade de extens\u00f5es<\/a> GeoServer ser\u00e1 suportada, \u00e0 medida que forem verificadas e possivelmente adaptadas para funcionar com a arquitetura deste projeto.<\/p>\n<p>Voc\u00ea ficou interessado nesse projeto? Quer saber como rodar esse projeto no seu ambiente?<\/p>\n<p>Basta voc\u00ea <a href=\"https:\/\/github.com\/geoserver\/geoserver-cloud\" rel=\"noopener\" target=\"_blank\">clicar aqui<\/a> e ir para a p\u00e1gina oficial do projeto. <\/p>\n","protected":false},"excerpt":{"rendered":"<p>Cloud Native GeoServer \u00e9 um GeoServer pronto para uso na nuvem por meio de microsservi\u00e7os dockerizados. Este projeto \u00e9 um esfor\u00e7o para dividir os servi\u00e7os geoespaciais e a API do GeoServer como componentes individualmente implement\u00e1veis de uma arquitetura baseada em&#8230; <a class=\"more-link\" href=\"https:\/\/www.fernandoquadro.com.br\/html\/2023\/09\/21\/cloud-native-geoserver\/\">Continue Reading &rarr;<\/a><\/p>\n","protected":false},"author":275,"featured_media":9444,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7],"tags":[291,208],"class_list":["post-9434","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-geoserver","tag-cloud","tag-geoserver"],"_links":{"self":[{"href":"https:\/\/www.fernandoquadro.com.br\/html\/wp-json\/wp\/v2\/posts\/9434","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.fernandoquadro.com.br\/html\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.fernandoquadro.com.br\/html\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.fernandoquadro.com.br\/html\/wp-json\/wp\/v2\/users\/275"}],"replies":[{"embeddable":true,"href":"https:\/\/www.fernandoquadro.com.br\/html\/wp-json\/wp\/v2\/comments?post=9434"}],"version-history":[{"count":7,"href":"https:\/\/www.fernandoquadro.com.br\/html\/wp-json\/wp\/v2\/posts\/9434\/revisions"}],"predecessor-version":[{"id":9442,"href":"https:\/\/www.fernandoquadro.com.br\/html\/wp-json\/wp\/v2\/posts\/9434\/revisions\/9442"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.fernandoquadro.com.br\/html\/wp-json\/wp\/v2\/media\/9444"}],"wp:attachment":[{"href":"https:\/\/www.fernandoquadro.com.br\/html\/wp-json\/wp\/v2\/media?parent=9434"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.fernandoquadro.com.br\/html\/wp-json\/wp\/v2\/categories?post=9434"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.fernandoquadro.com.br\/html\/wp-json\/wp\/v2\/tags?post=9434"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}