Configuração Plone + Cache Fu com balanceamento de carga.

5 Messages Forum Options Options
Permalink
rogeriocdluiz
Configuração Plone + Cache Fu com balanceamento de carga.
Reply Threaded More
Print post
Permalink
Olá pessoal. Estou com a seguinte situação.

Tenho um site Plone + Squid + Cache Fu utilizando ZEO e 1 Zope Server.

Mais ou menos assim:


SQUID (porta 80) -----> ZOPE (porta 8080) -----> ZEO

Quero adicionar + Zope apontando para o ZEO, assim teria 2 Zope
Servers, cada um rodando em uma máquina diferente e por sua vez
utilizando o mesmo ZEO.

Ficaria assim:

                   / ---------> ZOPE 1 (porta 8080) \
SQUID (porta 80) --                                  -------> ZEO
                   \----------> ZOPE 2 (porta 8080) /


Utilizei a ferramenta que vem com o Cache Fu para gerar a configuração
do Squid mas ela prevê apenas, até onde sei, 1 servidor Zope. Como
faria para configurar no squid mais um servidor Zope e fazer o
balanceamento de carga entre eles.

Assim, no caso de um deles cair ou todo o servidor ficar indisponível
o squid repassaria as requisições automáticamente para o outro.

Obrigado.
             


xirumacanudo
Re: Configuração Plone + Cache Fu com balanceamento de carga.
Reply Threaded More
Print post
Permalink
Oi Rogério,

essa é barbadinha: usa um cache_peer para cada instancia, colocando as
instancias Zope escutar a porta ICP.

http://www.mail-archive.com/zope-pt@.../msg07962.html

Att.

Fabiano Weimar


2008/7/24 rogeriocdluiz <rogeriocdluiz@...>:

> Olá pessoal. Estou com a seguinte situação.
>
> Tenho um site Plone + Squid + Cache Fu utilizando ZEO e 1 Zope Server.
>
> Mais ou menos assim:
>
> SQUID (porta 80) -----> ZOPE (porta 8080) -----> ZEO
>
> Quero adicionar + Zope apontando para o ZEO, assim teria 2 Zope
> Servers, cada um rodando em uma máquina diferente e por sua vez
> utilizando o mesmo ZEO.
>
> Ficaria assim:
>
> / ---------> ZOPE 1 (porta 8080) \
> SQUID (porta 80) -- -------> ZEO
> \----------> ZOPE 2 (porta 8080) /
>
> Utilizei a ferramenta que vem com o Cache Fu para gerar a configuração
> do Squid mas ela prevê apenas, até onde sei, 1 servidor Zope. Como
> faria para configurar no squid mais um servidor Zope e fazer o
> balanceamento de carga entre eles.
>
> Assim, no caso de um deles cair ou todo o servidor ficar indisponível
> o squid repassaria as requisições automáticamente para o outro.
>
> Obrigado.
>
>
>



--
==================================
Fabiano Weimar dos Santos (xiru)
Weimar Consultoria

Hospedagem Plone, Django, Zope 3, Grok...
http://www.pytown.com
==================================
rogeriocdluiz
Re: Configuração Plone + Cache Fu com balanceamento de carga.
Reply Threaded More
Print post
Permalink
--- Em zope-pt@..., "Fabiano Weimar dos Santos"
<xirumacanudo@...> escreveu

>
> Oi Rogério,
>
> essa é barbadinha: usa um cache_peer para cada instancia, colocando as
> instancias Zope escutar a porta ICP.
>
> http://www.mail-archive.com/zope-pt@.../msg07962.html
>
> Att.
>
> Fabiano Weimar
>

Muito obrigado pela resposta. Vou tentar amanhã, qualquer problema
posto o meu squid.conf.

Valeu!

rogeriocdluiz
Re: Configuração Plone + Cache Fu com balanceamento de carga.
Reply Threaded More
Print post
Permalink
Opa,

mais uma vez obrigado pela dica.

Tentei fazer aqui mas está dando um erro no squid. Ele mostra a
seguinte mensagem ao tentar abrir a página:

---------------------------------------------------------------
Unable to determine IP address from host name for backendpool
---------------------------------------------------------------

Meu squid conf agora está assim:


---------------------------------------------------------------

# This configuration file requires squid 2.6+.  It is untested with
squid 3.x.

# Present a special hostname in error messages, etc
visible_hostname intranet2.prdf.mpf.gov.br

# Cache manager email
cache_mgr manager@...

# If starting Squid as root, this will change the effective/real UID/GID
# to the user specified below.  The default is to change the UID to
nobody.
cache_effective_user squid

# The port on which to listen:
#   "vhost" turns on accelerator mode using Host header for virtual
domain support
#   "defaultsite" defines the default domain to use for Host header
http_port 80 vhost defaultsite=intranet2.prdf.mpf.gov.br


## Squid log files
# cache_access_log /usr/local/squid/var/logs/access.log
# cache_log /usr/local/squid/var/logs/cache.log
# cache_store_log /usr/local/squid/var/logs/store.log
## Turn off logging...
cache_store_log none
cache_log /dev/null
logfile_rotate 0   # avoid accidentally rotating /dev/null

# Set cache directory and size (1000 MB) - be sure to set the cache
size to
# about 10% less than the physical space available to leave room for
squid's
# swap files and other temp files
cache_dir ufs /usr/local/squid/var/cache 1000 16 256

# Amount of memory used for recent objects (default: 8 MB)
cache_mem 64 MB

# Max cached-on-disk object size (default: 4096 KB)
maximum_object_size 10 MB

# Max cached-in-memory object size (default: 8 KB)
maximum_object_size_in_memory 1 MB

# Purge access - zope servers can purge but nobody else
acl zope_servers src 127.0.0.1 192.168.0.22
acl purge method PURGE
http_access allow zope_servers purge
http_access deny purge



# Deny caching of POST requests
acl post_requests method POST
cache deny post_requests

# Deny requests that don't match any of the Redirector rewrite rules
acl denypool dstdomain denypool
http_access2 deny denypool

# Pass all other requests
acl all src 0.0.0.0/0.0.0.0
always_direct allow all

# Redirector Program
url_rewrite_program /usr/local/squid/etc/iRedirector.py
url_rewrite_children 1
url_rewrite_concurrency 20
url_rewrite_host_header off

###
acl in_backendpool dstdomain backendpool
####
cache_peer 127.0.0.1 parent 8080 888 name=client1-intranet no-digest
no-netdb-exchange round-robin
cache_peer_access client1-intranet allow in_backendpool
cache_peer_access client1-intranet deny all

cache_peer 192.168.0.22 parent 8080 888  name=client2-intranet
no-digest no-netdb-exchange round-robin
cache_peer_access client2-intranet allow in_backendpool
cache_peer_access client2-intranet deny all

---------------------------------------------------------------

Fiz também o ajuste no arquivo squidRewriteRules.py

---------------------------------------------------------------

  (r'^http://intranet2.prdf.mpf.gov.br/(.*)',
       
r'http://backendpool/VirtualHostBase/http/intranet2.prdf.mpf.gov.br:80/intranet/VirtualHostRoot/\1',
'L'),

---------------------------------------------------------------

Já verifiquei todo o arquivo e não consegui achar nada?

Tem idéia do que pode ser?

Valeu!



--- Em zope-pt@..., "Fabiano Weimar dos Santos"
<xirumacanudo@...> escreveu

>
> Oi Rogério,
>
> essa é barbadinha: usa um cache_peer para cada instancia, colocando as
> instancias Zope escutar a porta ICP.
>
> http://www.mail-archive.com/zope-pt@.../msg07962.html
>
> Att.
>
> Fabiano Weimar
>

rogeriocdluiz
Re: Configuração Plone + Cache Fu com balanceamento de carga.
Reply Threaded More
Print post
Permalink
Olá...

Realmente era simples. Bastou utilizar a ferramenta de geração dos
arquivos do squid do CacheFu informando vários servidores que ele
gerou um squid.conf bem diferente e bem mais explicado.

Está funcionando perfeitamente. Muito obrigado.> > Oi Rogério,

> >
> > essa é barbadinha: usa um cache_peer para cada instancia, colocando as
> > instancias Zope escutar a porta ICP.
> >
> > http://www.mail-archive.com/zope-pt@.../msg07962.html
> >
> > Att.
> >
> > Fabiano Weimar
> >
>